diff --git a/include/common/tmsg.h b/include/common/tmsg.h index 86d34502c6..4d4744999f 100644 --- a/include/common/tmsg.h +++ b/include/common/tmsg.h @@ -414,7 +414,8 @@ typedef enum ENodeType { QUERY_NODE_PHYSICAL_PLAN_STREAM_EVENT, QUERY_NODE_PHYSICAL_PLAN_HASH_JOIN, QUERY_NODE_PHYSICAL_PLAN_GROUP_CACHE, - QUERY_NODE_PHYSICAL_PLAN_DYN_QUERY_CTRL + QUERY_NODE_PHYSICAL_PLAN_DYN_QUERY_CTRL, + QUERY_NODE_END } ENodeType; typedef struct { diff --git a/include/libs/nodes/nodes.h b/include/libs/nodes/nodes.h index 7fbdbfb211..21d33249b8 100644 --- a/include/libs/nodes/nodes.h +++ b/include/libs/nodes/nodes.h @@ -101,6 +101,7 @@ typedef struct SNodeList { typedef struct SNodeAllocator SNodeAllocator; +void initNodeName(); int32_t nodesInitAllocatorSet(); void nodesDestroyAllocatorSet(); int32_t nodesCreateAllocator(int64_t queryId, int32_t chunkSize, int64_t* pAllocatorId); diff --git a/source/libs/nodes/src/nodesCodeFuncs.c b/source/libs/nodes/src/nodesCodeFuncs.c index f3087dd5d4..582ecf6753 100644 --- a/source/libs/nodes/src/nodesCodeFuncs.c +++ b/source/libs/nodes/src/nodesCodeFuncs.c @@ -27,378 +27,203 @@ static int32_t jsonToNode(const SJson* pJson, void* pObj); static int32_t jsonToNodeObject(const SJson* pJson, const char* pName, SNode** pNode); static int32_t makeNodeByJson(const SJson* pJson, SNode** pNode); + +typedef const char* taoscstr; +taoscstr nodeNames[QUERY_NODE_END] = {}; + +#define TAOS_DEFINE_NODE_NAME(type, msg) nodeNames[type] = msg; + +void initNodeName() { + TAOS_DEFINE_NODE_NAME(QUERY_NODE_COLUMN, "Column") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_VALUE, "Value") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_OPERATOR, "Operator") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_CONDITION, "LogicCondition") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_FUNCTION, "Function") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_REAL_TABLE, "RealTable") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_TEMP_TABLE, "TempTable") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_JOIN_TABLE, "JoinTable") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_GROUPING_SET, "GroupingSet") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ORDER_BY_EXPR, "OrderByExpr") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LIMIT, "Limit") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_STATE_WINDOW, "StateWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SESSION_WINDOW, "SessionWinow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_INTERVAL_WINDOW, "IntervalWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_NODE_LIST, "NodeList") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_FILL, "Fill") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RAW_EXPR, "RawExpr") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_TARGET, "Target") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DATABLOCK_DESC, "DataBlockDesc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SLOT_DESC, "SlotDesc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_COLUMN_DEF, "ColumnDef") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DOWNSTREAM_SOURCE, "DownstreamSource") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DATABASE_OPTIONS, "DatabaseOptions") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_TABLE_OPTIONS, "TableOptions") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_INDEX_OPTIONS, "IndexOptions") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_EXPLAIN_OPTIONS, "ExplainOptions") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_STREAM_OPTIONS, "StreamOptions") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LEFT_VALUE, "LeftValue") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_WHEN_THEN, "WhenThen") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CASE_WHEN, "CaseWhen") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_EVENT_WINDOW, "EventWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SET_OPERATOR, "SetOperator") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SELECT_STMT, "SelectStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_VNODE_MODIFY_STMT, "VnodeModifStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_DATABASE_STMT, "CreateDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_DATABASE_STMT, "DropDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_DATABASE_STMT, "AlterDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_FLUSH_DATABASE_STMT, "FlushDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_TRIM_DATABASE_STMT, "TrimDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_TABLE_STMT, "CreateTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_SUBTABLE_CLAUSE, "CreateSubtableClause") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_MULTI_TABLES_STMT, "CreateMultiTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_TABLE_CLAUSE, "DropTableClause") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_TABLE_STMT, "DropTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_SUPER_TABLE_STMT, "DropSuperTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_TABLE_STMT, "AlterTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_SUPER_TABLE_STMT, "AlterSuperTableStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_USER_STMT, "CreateUserStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_USER_STMT, "AlterUserStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_USER_STMT, "DropUserStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_USE_DATABASE_STMT, "UseDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_DNODE_STMT, "CreateDnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_DNODE_STMT, "DropDnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_DNODE_STMT, "AlterDnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_INDEX_STMT, "CreateIndexStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_INDEX_STMT, "DropIndexStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_QNODE_STMT, "CreateQnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_QNODE_STMT, "DropQnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_SNODE_STMT, "CreateSnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_SNODE_STMT, "DropSnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_MNODE_STMT, "CreateMnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_MNODE_STMT, "DropMnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_TOPIC_STMT, "CreateTopicStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_TOPIC_STMT, "DropTopicStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_CGROUP_STMT, "DropConsumerGroupStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_ALTER_LOCAL_STMT, "AlterLocalStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_EXPLAIN_STMT, "ExplainStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DESCRIBE_STMT, "DescribeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_COMPACT_DATABASE_STMT, "CompactDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_STREAM_STMT, "CreateStreamStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_STREAM_STMT, "DropStreamStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PAUSE_STREAM_STMT, "PauseStreamStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RESUME_STREAM_STMT, "ResumeStreamStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_BALANCE_VGROUP_STMT, "BalanceVgroupStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_BALANCE_VGROUP_LEADER_STMT, "BalanceVgroupLeaderStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_MERGE_VGROUP_STMT, "MergeVgroupStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_DB_ALIVE_STMT, "ShowDbAliveStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT, "ShowClusterAliveStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_REDISTRIBUTE_VGROUP_STMT, "RedistributeVgroupStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SPLIT_VGROUP_STMT, "SplitVgroupStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_GRANT_STMT, "GrantStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_REVOKE_STMT, "RevokeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_DNODES_STMT, "ShowDnodesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_MNODES_STMT, "ShowMnodesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_MODULES_STMT, "ShowModulesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_QNODES_STMT, "ShowQnodesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_SNODES_STMT, "ShowSnodesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_BNODES_STMT, "ShowBnodesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CLUSTER_STMT, "ShowClusterStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_DATABASES_STMT, "ShowDatabaseStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_FUNCTIONS_STMT, "ShowFunctionsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_INDEXES_STMT, "ShowIndexesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_STABLES_STMT, "ShowStablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_STREAMS_STMT, "ShowStreamsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TABLES_STMT, "ShowTablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TAGS_STMT, "ShowTagsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_USERS_STMT, "ShowUsersStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_LICENCES_STMT, "ShowGrantsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_VGROUPS_STMT, "ShowVgroupsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TOPICS_STMT, "ShowTopicsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CONSUMERS_STMT, "ShowConsumersStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_QUERIES_STMT, "ShowQueriesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_VARIABLES_STMT, "ShowVariablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_DNODE_VARIABLES_STMT, "ShowDnodeVariablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TRANSACTIONS_STMT, "ShowTransactionsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT, "ShowSubscriptionsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_VNODES_STMT, "ShowVnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_USER_PRIVILEGES_STMT, "ShowUserPrivilegesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CREATE_DATABASE_STMT, "ShowCreateDatabasesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CREATE_TABLE_STMT, "ShowCreateTablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CREATE_STABLE_STMT, "ShowCreateStablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_CREATE_VIEW_STMT, "ShowCreateViewStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TABLE_DISTRIBUTED_STMT, "ShowTableDistributedStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT, "ShowLocalVariablesStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_SHOW_TABLE_TAGS_STMT, "ShowTableTagsStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DELETE_STMT, "DeleteStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_INSERT_STMT, "InsertStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RESTORE_DNODE_STMT, "RestoreDnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RESTORE_QNODE_STMT, "RestoreQnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RESTORE_MNODE_STMT, "RestoreMnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_RESTORE_VNODE_STMT, "RestoreVnodeStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_CREATE_VIEW_STMT, "CreateViewStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_DROP_VIEW_STMT, "DropViewStmt") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_SCAN, "LogicScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_JOIN, "LogicJoin") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_AGG, "LogicAgg") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_PROJECT, "LogicProject") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_VNODE_MODIFY, "LogicVnodeModify") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_EXCHANGE, "LogicExchange") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_MERGE, "LogicMerge") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_WINDOW, "LogicWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_FILL, "LogicFill") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_SORT, "LogicSort") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_PARTITION, "LogicPartition") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_INDEF_ROWS_FUNC, "LogicIndefRowsFunc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_INTERP_FUNC, "LogicInterpFunc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_GROUP_CACHE, "LogicGroupCache") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN_DYN_QUERY_CTRL, "LogicDynamicQueryCtrl") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_SUBPLAN, "LogicSubplan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_LOGIC_PLAN, "LogicPlan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_TAG_SCAN, "PhysiTagScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN, "PhysiTableScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_TABLE_SEQ_SCAN, "PhysiTableSeqScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_TABLE_MERGE_SCAN, "PhysiTableMergeScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_SCAN, "PhysiSreamScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_SYSTABLE_SCAN, "PhysiSystemTableScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_BLOCK_DIST_SCAN, "PhysiBlockDistScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_LAST_ROW_SCAN, "PhysiLastRowScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_TABLE_COUNT_SCAN, "PhysiTableCountScan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE_EVENT, "PhysiMergeEventWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_EVENT, "PhysiStreamEventWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_PROJECT, "PhysiProject") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE_JOIN, "PhysiMergeJoin") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_HASH_JOIN, "PhysiHashJoin") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_HASH_AGG, "PhysiAgg") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_EXCHANGE, "PhysiExchange") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE, "PhysiMerge") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_SORT, "PhysiSort") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_GROUP_SORT, "PhysiGroupSort") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_HASH_INTERVAL, "PhysiHashInterval") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE_ALIGNED_INTERVAL, "PhysiMergeAlignedInterval") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_INTERVAL, "PhysiStreamInterval") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_FINAL_INTERVAL, "PhysiStreamFinalInterval") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_SEMI_INTERVAL, "PhysiStreamSemiInterval") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_FILL, "PhysiFill") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_FILL, "PhysiFill") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE_SESSION, "PhysiSessionWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_SESSION, "PhysiStreamSessionWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_SEMI_SESSION, "PhysiStreamSemiSessionWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_FINAL_SESSION, "PhysiStreamFinalSessionWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_MERGE_STATE, "PhysiStateWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_STATE, "PhysiStreamStateWindow") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_PARTITION, "PhysiPartition") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_STREAM_PARTITION, "PhysiStreamPartition") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_INDEF_ROWS_FUNC, "PhysiIndefRowsFunc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_INTERP_FUNC, "PhysiInterpFunc") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_DISPATCH, "PhysiDispatch") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_INSERT, "PhysiInsert") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_QUERY_INSERT, "PhysiQueryInsert") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_DELETE, "PhysiDelete") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_GROUP_CACHE, "PhysiGroupCache") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN_DYN_QUERY_CTRL, "PhysiDynamicQueryCtrl") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_SUBPLAN, "PhysiSubplan") + TAOS_DEFINE_NODE_NAME(QUERY_NODE_PHYSICAL_PLAN, "PhysiPlan") +} + const char* nodesNodeName(ENodeType type) { - switch (type) { - case QUERY_NODE_COLUMN: - return "Column"; - case QUERY_NODE_VALUE: - return "Value"; - case QUERY_NODE_OPERATOR: - return "Operator"; - case QUERY_NODE_LOGIC_CONDITION: - return "LogicCondition"; - case QUERY_NODE_FUNCTION: - return "Function"; - case QUERY_NODE_REAL_TABLE: - return "RealTable"; - case QUERY_NODE_TEMP_TABLE: - return "TempTable"; - case QUERY_NODE_JOIN_TABLE: - return "JoinTable"; - case QUERY_NODE_GROUPING_SET: - return "GroupingSet"; - case QUERY_NODE_ORDER_BY_EXPR: - return "OrderByExpr"; - case QUERY_NODE_LIMIT: - return "Limit"; - case QUERY_NODE_STATE_WINDOW: - return "StateWindow"; - case QUERY_NODE_SESSION_WINDOW: - return "SessionWinow"; - case QUERY_NODE_INTERVAL_WINDOW: - return "IntervalWindow"; - case QUERY_NODE_NODE_LIST: - return "NodeList"; - case QUERY_NODE_FILL: - return "Fill"; - case QUERY_NODE_RAW_EXPR: - return "RawExpr"; - case QUERY_NODE_TARGET: - return "Target"; - case QUERY_NODE_DATABLOCK_DESC: - return "DataBlockDesc"; - case QUERY_NODE_SLOT_DESC: - return "SlotDesc"; - case QUERY_NODE_COLUMN_DEF: - return "ColumnDef"; - case QUERY_NODE_DOWNSTREAM_SOURCE: - return "DownstreamSource"; - case QUERY_NODE_DATABASE_OPTIONS: - return "DatabaseOptions"; - case QUERY_NODE_TABLE_OPTIONS: - return "TableOptions"; - case QUERY_NODE_INDEX_OPTIONS: - return "IndexOptions"; - case QUERY_NODE_EXPLAIN_OPTIONS: - return "ExplainOptions"; - case QUERY_NODE_STREAM_OPTIONS: - return "StreamOptions"; - case QUERY_NODE_LEFT_VALUE: - return "LeftValue"; - case QUERY_NODE_WHEN_THEN: - return "WhenThen"; - case QUERY_NODE_CASE_WHEN: - return "CaseWhen"; - case QUERY_NODE_EVENT_WINDOW: - return "EventWindow"; - case QUERY_NODE_SET_OPERATOR: - return "SetOperator"; - case QUERY_NODE_SELECT_STMT: - return "SelectStmt"; - case QUERY_NODE_VNODE_MODIFY_STMT: - return "VnodeModifStmt"; - case QUERY_NODE_CREATE_DATABASE_STMT: - return "CreateDatabaseStmt"; - case QUERY_NODE_DROP_DATABASE_STMT: - return "DropDatabaseStmt"; - case QUERY_NODE_ALTER_DATABASE_STMT: - return "AlterDatabaseStmt"; - case QUERY_NODE_FLUSH_DATABASE_STMT: - return "FlushDatabaseStmt"; - case QUERY_NODE_TRIM_DATABASE_STMT: - return "TrimDatabaseStmt"; - case QUERY_NODE_CREATE_TABLE_STMT: - return "CreateTableStmt"; - case QUERY_NODE_CREATE_SUBTABLE_CLAUSE: - return "CreateSubtableClause"; - case QUERY_NODE_CREATE_MULTI_TABLES_STMT: - return "CreateMultiTableStmt"; - case QUERY_NODE_DROP_TABLE_CLAUSE: - return "DropTableClause"; - case QUERY_NODE_DROP_TABLE_STMT: - return "DropTableStmt"; - case QUERY_NODE_DROP_SUPER_TABLE_STMT: - return "DropSuperTableStmt"; - case QUERY_NODE_ALTER_TABLE_STMT: - return "AlterTableStmt"; - case QUERY_NODE_ALTER_SUPER_TABLE_STMT: - return "AlterSuperTableStmt"; - case QUERY_NODE_CREATE_USER_STMT: - return "CreateUserStmt"; - case QUERY_NODE_ALTER_USER_STMT: - return "AlterUserStmt"; - case QUERY_NODE_DROP_USER_STMT: - return "DropUserStmt"; - case QUERY_NODE_USE_DATABASE_STMT: - return "UseDatabaseStmt"; - case QUERY_NODE_CREATE_DNODE_STMT: - return "CreateDnodeStmt"; - case QUERY_NODE_DROP_DNODE_STMT: - return "DropDnodeStmt"; - case QUERY_NODE_ALTER_DNODE_STMT: - return "AlterDnodeStmt"; - case QUERY_NODE_CREATE_INDEX_STMT: - return "CreateIndexStmt"; - case QUERY_NODE_DROP_INDEX_STMT: - return "DropIndexStmt"; - case QUERY_NODE_CREATE_QNODE_STMT: - return "CreateQnodeStmt"; - case QUERY_NODE_DROP_QNODE_STMT: - return "DropQnodeStmt"; - case QUERY_NODE_CREATE_SNODE_STMT: - return "CreateSnodeStmt"; - case QUERY_NODE_DROP_SNODE_STMT: - return "DropSnodeStmt"; - case QUERY_NODE_CREATE_MNODE_STMT: - return "CreateMnodeStmt"; - case QUERY_NODE_DROP_MNODE_STMT: - return "DropMnodeStmt"; - case QUERY_NODE_CREATE_TOPIC_STMT: - return "CreateTopicStmt"; - case QUERY_NODE_DROP_TOPIC_STMT: - return "DropTopicStmt"; - case QUERY_NODE_DROP_CGROUP_STMT: - return "DropConsumerGroupStmt"; - case QUERY_NODE_ALTER_LOCAL_STMT: - return "AlterLocalStmt"; - case QUERY_NODE_EXPLAIN_STMT: - return "ExplainStmt"; - case QUERY_NODE_DESCRIBE_STMT: - return "DescribeStmt"; - case QUERY_NODE_COMPACT_DATABASE_STMT: - return "CompactDatabaseStmt"; - case QUERY_NODE_CREATE_STREAM_STMT: - return "CreateStreamStmt"; - case QUERY_NODE_DROP_STREAM_STMT: - return "DropStreamStmt"; - case QUERY_NODE_PAUSE_STREAM_STMT: - return "PauseStreamStmt"; - case QUERY_NODE_RESUME_STREAM_STMT: - return "ResumeStreamStmt"; - case QUERY_NODE_BALANCE_VGROUP_STMT: - return "BalanceVgroupStmt"; - case QUERY_NODE_BALANCE_VGROUP_LEADER_STMT: - return "BalanceVgroupLeaderStmt"; - case QUERY_NODE_MERGE_VGROUP_STMT: - return "MergeVgroupStmt"; - case QUERY_NODE_SHOW_DB_ALIVE_STMT: - return "ShowDbAliveStmt"; - case QUERY_NODE_SHOW_CLUSTER_ALIVE_STMT: - return "ShowClusterAliveStmt"; - case QUERY_NODE_REDISTRIBUTE_VGROUP_STMT: - return "RedistributeVgroupStmt"; - case QUERY_NODE_SPLIT_VGROUP_STMT: - return "SplitVgroupStmt"; - case QUERY_NODE_GRANT_STMT: - return "GrantStmt"; - case QUERY_NODE_REVOKE_STMT: - return "RevokeStmt"; - case QUERY_NODE_SHOW_DNODES_STMT: - return "ShowDnodesStmt"; - case QUERY_NODE_SHOW_MNODES_STMT: - return "ShowMnodesStmt"; - case QUERY_NODE_SHOW_MODULES_STMT: - return "ShowModulesStmt"; - case QUERY_NODE_SHOW_QNODES_STMT: - return "ShowQnodesStmt"; - case QUERY_NODE_SHOW_SNODES_STMT: - return "ShowSnodesStmt"; - case QUERY_NODE_SHOW_BNODES_STMT: - return "ShowBnodesStmt"; - case QUERY_NODE_SHOW_CLUSTER_STMT: - return "ShowClusterStmt"; - case QUERY_NODE_SHOW_DATABASES_STMT: - return "ShowDatabaseStmt"; - case QUERY_NODE_SHOW_FUNCTIONS_STMT: - return "ShowFunctionsStmt"; - case QUERY_NODE_SHOW_INDEXES_STMT: - return "ShowIndexesStmt"; - case QUERY_NODE_SHOW_STABLES_STMT: - return "ShowStablesStmt"; - case QUERY_NODE_SHOW_STREAMS_STMT: - return "ShowStreamsStmt"; - case QUERY_NODE_SHOW_TABLES_STMT: - return "ShowTablesStmt"; - case QUERY_NODE_SHOW_TAGS_STMT: - return "ShowTagsStmt"; - case QUERY_NODE_SHOW_USERS_STMT: - return "ShowUsersStmt"; - case QUERY_NODE_SHOW_LICENCES_STMT: - return "ShowGrantsStmt"; - case QUERY_NODE_SHOW_VGROUPS_STMT: - return "ShowVgroupsStmt"; - case QUERY_NODE_SHOW_TOPICS_STMT: - return "ShowTopicsStmt"; - case QUERY_NODE_SHOW_CONSUMERS_STMT: - return "ShowConsumersStmt"; - case QUERY_NODE_SHOW_QUERIES_STMT: - return "ShowQueriesStmt"; - case QUERY_NODE_SHOW_VARIABLES_STMT: - return "ShowVariablesStmt"; - case QUERY_NODE_SHOW_DNODE_VARIABLES_STMT: - return "ShowDnodeVariablesStmt"; - case QUERY_NODE_SHOW_TRANSACTIONS_STMT: - return "ShowTransactionsStmt"; - case QUERY_NODE_SHOW_SUBSCRIPTIONS_STMT: - return "ShowSubscriptionsStmt"; - case QUERY_NODE_SHOW_VNODES_STMT: - return "ShowVnodeStmt"; - case QUERY_NODE_SHOW_USER_PRIVILEGES_STMT: - return "ShowUserPrivilegesStmt"; - case QUERY_NODE_SHOW_CREATE_DATABASE_STMT: - return "ShowCreateDatabasesStmt"; - case QUERY_NODE_SHOW_CREATE_TABLE_STMT: - return "ShowCreateTablesStmt"; - case QUERY_NODE_SHOW_CREATE_STABLE_STMT: - return "ShowCreateStablesStmt"; - case QUERY_NODE_SHOW_CREATE_VIEW_STMT: - return "ShowCreateViewStmt"; - case QUERY_NODE_SHOW_TABLE_DISTRIBUTED_STMT: - return "ShowTableDistributedStmt"; - case QUERY_NODE_SHOW_LOCAL_VARIABLES_STMT: - return "ShowLocalVariablesStmt"; - case QUERY_NODE_SHOW_TABLE_TAGS_STMT: - return "ShowTableTagsStmt"; - case QUERY_NODE_DELETE_STMT: - return "DeleteStmt"; - case QUERY_NODE_INSERT_STMT: - return "InsertStmt"; - case QUERY_NODE_RESTORE_DNODE_STMT: - return "RestoreDnodeStmt"; - case QUERY_NODE_RESTORE_QNODE_STMT: - return "RestoreQnodeStmt"; - case QUERY_NODE_RESTORE_MNODE_STMT: - return "RestoreMnodeStmt"; - case QUERY_NODE_RESTORE_VNODE_STMT: - return "RestoreVnodeStmt"; - case QUERY_NODE_CREATE_VIEW_STMT: - return "CreateViewStmt"; - case QUERY_NODE_DROP_VIEW_STMT: - return "DropViewStmt"; - case QUERY_NODE_LOGIC_PLAN_SCAN: - return "LogicScan"; - case QUERY_NODE_LOGIC_PLAN_JOIN: - return "LogicJoin"; - case QUERY_NODE_LOGIC_PLAN_AGG: - return "LogicAgg"; - case QUERY_NODE_LOGIC_PLAN_PROJECT: - return "LogicProject"; - case QUERY_NODE_LOGIC_PLAN_VNODE_MODIFY: - return "LogicVnodeModify"; - case QUERY_NODE_LOGIC_PLAN_EXCHANGE: - return "LogicExchange"; - case QUERY_NODE_LOGIC_PLAN_MERGE: - return "LogicMerge"; - case QUERY_NODE_LOGIC_PLAN_WINDOW: - return "LogicWindow"; - case QUERY_NODE_LOGIC_PLAN_FILL: - return "LogicFill"; - case QUERY_NODE_LOGIC_PLAN_SORT: - return "LogicSort"; - case QUERY_NODE_LOGIC_PLAN_PARTITION: - return "LogicPartition"; - case QUERY_NODE_LOGIC_PLAN_INDEF_ROWS_FUNC: - return "LogicIndefRowsFunc"; - case QUERY_NODE_LOGIC_PLAN_INTERP_FUNC: - return "LogicInterpFunc"; - case QUERY_NODE_LOGIC_PLAN_GROUP_CACHE: - return "LogicGroupCache"; - case QUERY_NODE_LOGIC_PLAN_DYN_QUERY_CTRL: - return "LogicDynamicQueryCtrl"; - case QUERY_NODE_LOGIC_SUBPLAN: - return "LogicSubplan"; - case QUERY_NODE_LOGIC_PLAN: - return "LogicPlan"; - case QUERY_NODE_PHYSICAL_PLAN_TAG_SCAN: - return "PhysiTagScan"; - case QUERY_NODE_PHYSICAL_PLAN_TABLE_SCAN: - return "PhysiTableScan"; - case QUERY_NODE_PHYSICAL_PLAN_TABLE_SEQ_SCAN: - return "PhysiTableSeqScan"; - case QUERY_NODE_PHYSICAL_PLAN_TABLE_MERGE_SCAN: - return "PhysiTableMergeScan"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_SCAN: - return "PhysiSreamScan"; - case QUERY_NODE_PHYSICAL_PLAN_SYSTABLE_SCAN: - return "PhysiSystemTableScan"; - case QUERY_NODE_PHYSICAL_PLAN_BLOCK_DIST_SCAN: - return "PhysiBlockDistScan"; - case QUERY_NODE_PHYSICAL_PLAN_LAST_ROW_SCAN: - return "PhysiLastRowScan"; - case QUERY_NODE_PHYSICAL_PLAN_TABLE_COUNT_SCAN: - return "PhysiTableCountScan"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE_EVENT: - return "PhysiMergeEventWindow"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_EVENT: - return "PhysiStreamEventWindow"; - case QUERY_NODE_PHYSICAL_PLAN_PROJECT: - return "PhysiProject"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE_JOIN: - return "PhysiMergeJoin"; - case QUERY_NODE_PHYSICAL_PLAN_HASH_JOIN: - return "PhysiHashJoin"; - case QUERY_NODE_PHYSICAL_PLAN_HASH_AGG: - return "PhysiAgg"; - case QUERY_NODE_PHYSICAL_PLAN_EXCHANGE: - return "PhysiExchange"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE: - return "PhysiMerge"; - case QUERY_NODE_PHYSICAL_PLAN_SORT: - return "PhysiSort"; - case QUERY_NODE_PHYSICAL_PLAN_GROUP_SORT: - return "PhysiGroupSort"; - case QUERY_NODE_PHYSICAL_PLAN_HASH_INTERVAL: - return "PhysiHashInterval"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE_ALIGNED_INTERVAL: - return "PhysiMergeAlignedInterval"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_INTERVAL: - return "PhysiStreamInterval"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_FINAL_INTERVAL: - return "PhysiStreamFinalInterval"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_SEMI_INTERVAL: - return "PhysiStreamSemiInterval"; - case QUERY_NODE_PHYSICAL_PLAN_FILL: - case QUERY_NODE_PHYSICAL_PLAN_STREAM_FILL: - return "PhysiFill"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE_SESSION: - return "PhysiSessionWindow"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_SESSION: - return "PhysiStreamSessionWindow"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_SEMI_SESSION: - return "PhysiStreamSemiSessionWindow"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_FINAL_SESSION: - return "PhysiStreamFinalSessionWindow"; - case QUERY_NODE_PHYSICAL_PLAN_MERGE_STATE: - return "PhysiStateWindow"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_STATE: - return "PhysiStreamStateWindow"; - case QUERY_NODE_PHYSICAL_PLAN_PARTITION: - return "PhysiPartition"; - case QUERY_NODE_PHYSICAL_PLAN_STREAM_PARTITION: - return "PhysiStreamPartition"; - case QUERY_NODE_PHYSICAL_PLAN_INDEF_ROWS_FUNC: - return "PhysiIndefRowsFunc"; - case QUERY_NODE_PHYSICAL_PLAN_INTERP_FUNC: - return "PhysiInterpFunc"; - case QUERY_NODE_PHYSICAL_PLAN_DISPATCH: - return "PhysiDispatch"; - case QUERY_NODE_PHYSICAL_PLAN_INSERT: - return "PhysiInsert"; - case QUERY_NODE_PHYSICAL_PLAN_QUERY_INSERT: - return "PhysiQueryInsert"; - case QUERY_NODE_PHYSICAL_PLAN_DELETE: - return "PhysiDelete"; - case QUERY_NODE_PHYSICAL_PLAN_GROUP_CACHE: - return "PhysiGroupCache"; - case QUERY_NODE_PHYSICAL_PLAN_DYN_QUERY_CTRL: - return "PhysiDynamicQueryCtrl"; - case QUERY_NODE_PHYSICAL_SUBPLAN: - return "PhysiSubplan"; - case QUERY_NODE_PHYSICAL_PLAN: - return "PhysiPlan"; - default: - break; - } + if (nodeNames[type]) + return nodeNames[type]; + nodesWarn("nodesNodeName unknown node = %d", type); return "UnknownNode"; } diff --git a/source/libs/nodes/src/nodesUtilFuncs.c b/source/libs/nodes/src/nodesUtilFuncs.c index d167d81c82..c8de8bdfac 100644 --- a/source/libs/nodes/src/nodesUtilFuncs.c +++ b/source/libs/nodes/src/nodesUtilFuncs.c @@ -131,6 +131,7 @@ static void destroyNodeAllocator(void* p) { } int32_t nodesInitAllocatorSet() { + initNodeName(); if (g_allocatorReqRefPool >= 0) { nodesWarn("nodes already initialized"); return TSDB_CODE_SUCCESS;