public static PlanNode deserialize()

in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java [387:691]


  public static PlanNode deserialize(ByteBuffer buffer, short nodeType) {
    switch (nodeType) {
      case 0:
        return AggregationNode.deserialize(buffer);
      case 1:
        return DeviceViewNode.deserialize(buffer);
      case 2:
        return FillNode.deserialize(buffer);
      case 3:
        return FilterNode.deserialize(buffer);
      case 5:
        return GroupByLevelNode.deserialize(buffer);
      case 6:
        return LimitNode.deserialize(buffer);
      case 7:
        return OffsetNode.deserialize(buffer);
      case 8:
        return SortNode.deserialize(buffer);
      case 9:
        return FullOuterTimeJoinNode.deserialize(buffer);
      case 11:
        return SeriesScanNode.deserialize(buffer);
      case 12:
        return SeriesAggregationScanNode.deserialize(buffer);
      case 13:
        return InsertTabletNode.deserialize(buffer);
      case 14:
        return InsertRowNode.deserialize(buffer);
      case 15:
        return InsertRowsNode.deserialize(buffer);
      case 16:
        return InsertRowsOfOneDeviceNode.deserialize(buffer);
      case 17:
        return InsertMultiTabletsNode.deserialize(buffer);
      case 18:
        return DevicesSchemaScanNode.deserialize(buffer);
      case 19:
        return CreateTimeSeriesNode.deserialize(buffer);
      case 20:
        return ExchangeNode.deserialize(buffer);
      case 21:
        return AlterTimeSeriesNode.deserialize(buffer);
      case 22:
        return CreateAlignedTimeSeriesNode.deserialize(buffer);
      case 23:
        return TimeSeriesSchemaScanNode.deserialize(buffer);
      case 24:
        return SeriesSchemaFetchScanNode.deserialize(buffer);
      case 25:
        return SchemaQueryMergeNode.deserialize(buffer);
      case 26:
        return SchemaQueryOrderByHeatNode.deserialize(buffer);
      case 27:
        return DevicesCountNode.deserialize(buffer);
      case 28:
        return TimeSeriesCountNode.deserialize(buffer);
      case 29:
        return LevelTimeSeriesCountNode.deserialize(buffer);
      case 30:
        return CountSchemaMergeNode.deserialize(buffer);
      case 31:
        return SlidingWindowAggregationNode.deserialize(buffer);
      case 32:
        return ProjectNode.deserialize(buffer);
      case 33:
        return AlignedSeriesScanNode.deserialize(buffer);
      case 34:
        return AlignedSeriesAggregationScanNode.deserialize(buffer);
      case 35:
        return DeviceMergeNode.deserialize(buffer);
      case 36:
        return SchemaFetchMergeNode.deserialize(buffer);
      case 37:
        return TransformNode.deserialize(buffer);
      case 39:
        return CreateMultiTimeSeriesNode.deserialize(buffer);
      case 40:
        return NodePathsSchemaScanNode.deserialize(buffer);
      case 41:
        return NodePathsConvertNode.deserialize(buffer);
      case 42:
        return NodeManagementMemoryMergeNode.deserialize(buffer);
      case 44:
        return DeleteDataNode.deserialize(buffer);
      case 45:
        return DeleteTimeSeriesNode.deserialize(buffer);
      case 46:
        return LastQueryScanNode.deserialize(buffer);
      case 47:
        return AlignedLastQueryScanNode.deserialize(buffer);
      case 48:
        return LastQueryNode.deserialize(buffer);
      case 49:
        return LastQueryMergeNode.deserialize(buffer);
      case 50:
        return LastQueryCollectNode.deserialize(buffer);
      case 51:
        return NodePathsCountNode.deserialize(buffer);
      case 52:
        return InternalCreateTimeSeriesNode.deserialize(buffer);
      case 53:
        return ActivateTemplateNode.deserialize(buffer);
      case 54:
        return PathsUsingTemplateScanNode.deserialize(buffer);
      case 55:
        return LoadTsFilePieceNode.deserialize(buffer);
      case 56:
        return ConstructSchemaBlackListNode.deserialize(buffer);
      case 57:
        return RollbackSchemaBlackListNode.deserialize(buffer);
      case 58:
        return GroupByTagNode.deserialize(buffer);
      case 59:
        return PreDeactivateTemplateNode.deserialize(buffer);
      case 60:
        return RollbackPreDeactivateTemplateNode.deserialize(buffer);
      case 61:
        return DeactivateTemplateNode.deserialize(buffer);
      case 62:
        return IntoNode.deserialize(buffer);
      case 63:
        return DeviceViewIntoNode.deserialize(buffer);
      case 64:
        return HorizontallyConcatNode.deserialize(buffer);
      case 65:
        return SingleDeviceViewNode.deserialize(buffer);
      case 66:
        return org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.MergeSortNode
            .deserialize(buffer);
      case 67:
        return ShowQueriesNode.deserialize(buffer);
      case 68:
        return InternalBatchActivateTemplateNode.deserialize(buffer);
      case 69:
        return InternalCreateMultiTimeSeriesNode.deserialize(buffer);
      case 70:
        return IdentitySinkNode.deserialize(buffer);
      case 71:
        return ShuffleSinkNode.deserialize(buffer);
      case 72:
        return BatchActivateTemplateNode.deserialize(buffer);
      case 73:
        return CreateLogicalViewNode.deserialize(buffer);
      case 74:
        return ConstructLogicalViewBlackListNode.deserialize(buffer);
      case 75:
        return RollbackLogicalViewBlackListNode.deserialize(buffer);
      case 76:
        return DeleteLogicalViewNode.deserialize(buffer);
      case 77:
        return LogicalViewSchemaScanNode.deserialize(buffer);
      case 78:
        return AlterLogicalViewNode.deserialize(buffer);
      case 79:
        return PipeEnrichedInsertNode.deserialize(buffer);
      case 80:
        return InferenceNode.deserialize(buffer);
      case 81:
        return LastQueryTransformNode.deserialize(buffer);
      case 82:
        return TopKNode.deserialize(buffer);
      case 83:
        return ColumnInjectNode.deserialize(buffer);
      case 84:
        return PipeEnrichedDeleteDataNode.deserialize(buffer);
      case 85:
        return PipeEnrichedWritePlanNode.deserialize(buffer);
      case 86:
        return PipeEnrichedNonWritePlanNode.deserialize(buffer);
      case 87:
        return InnerTimeJoinNode.deserialize(buffer);
      case 88:
        return LeftOuterTimeJoinNode.deserialize(buffer);
      case 89:
        return AggregationMergeSortNode.deserialize(buffer);
      case 90:
        throw new UnsupportedOperationException("ExplainAnalyzeNode should not be serialized");
      case 91:
        return PipeOperateSchemaQueueNode.deserialize(buffer);
      case 92:
        return RawDataAggregationNode.deserialize(buffer);
      case 93:
        return DeviceRegionScanNode.deserialize(buffer);
      case 94:
        return TimeseriesRegionScanNode.deserialize(buffer);
      case 95:
        return ActiveRegionScanMergeNode.deserialize(buffer);
      case 96:
        return DeviceSchemaFetchScanNode.deserialize(buffer);
      case 97:
        throw new UnsupportedOperationException(
            "You should never see ContinuousSameSearchIndexSeparatorNode in this function, because ContinuousSameSearchIndexSeparatorNode should never be used in network transmission.");
      case 902:
        return CreateOrUpdateTableDeviceNode.deserialize(buffer);
      case 903:
        return TableDeviceQueryScanNode.deserialize(buffer);
      case 904:
        return TableDeviceFetchNode.deserialize(buffer);
      case 905:
        return DeleteTableDeviceNode.deserialize(buffer);
      case 906:
        return TableDeviceQueryCountNode.deserialize(buffer);
      case 907:
        return TableDeviceAttributeUpdateNode.deserialize(buffer);
      case 908:
        return TableDeviceAttributeCommitUpdateNode.deserialize(buffer);
      case 909:
        return TableNodeLocationAddNode.deserialize(buffer);
      case 910:
        return ConstructTableDevicesBlackListNode.deserialize(buffer);
      case 911:
        return RollbackTableDevicesBlackListNode.deserialize(buffer);
      case 912:
        return DeleteTableDevicesInBlackListNode.deserialize(buffer);
      case 913:
        return TableAttributeColumnDropNode.deserialize(buffer);
      case 1000:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode
            .deserialize(buffer);
      case 1001:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.FilterNode.deserialize(
            buffer);
      case 1002:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.ProjectNode.deserialize(
            buffer);
      case 1003:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.OutputNode.deserialize(
            buffer);
      case 1004:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.LimitNode.deserialize(
            buffer);
      case 1005:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.OffsetNode.deserialize(
            buffer);
      case 1006:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.SortNode.deserialize(
            buffer);
      case 1007:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.MergeSortNode
            .deserialize(buffer);
      case 1008:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.TopKNode.deserialize(
            buffer);
      case 1009:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.CollectNode.deserialize(
            buffer);
      case 1010:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.StreamSortNode
            .deserialize(buffer);
      case 1011:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.JoinNode.deserialize(
            buffer);
      case 1012:
        return PreviousFillNode.deserialize(buffer);
      case 1013:
        return LinearFillNode.deserialize(buffer);
      case 1014:
        return ValueFillNode.deserialize(buffer);
      case 1015:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationNode
            .deserialize(buffer);
      case 1016:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode
            .deserialize(buffer);
      case 1017:
        return GapFillNode.deserialize(buffer);
      case 1018:
        return org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExchangeNode
            .deserialize(buffer);
      case 1019:
        throw new UnsupportedOperationException("ExplainAnalyzeNode should not be deserialized");
      case 1020:
        return EnforceSingleRowNode.deserialize(buffer);
      case 1021:
        return InformationSchemaTableScanNode.deserialize(buffer);
      case 1022:
        return AggregationTreeDeviceViewScanNode.deserialize(buffer);
      case 1023:
        return TreeAlignedDeviceViewScanNode.deserialize(buffer);
      case 1024:
        return TreeNonAlignedDeviceViewScanNode.deserialize(buffer);
      case 1025:
        return SemiJoinNode.deserialize(buffer);
      case 1026:
        return MarkDistinctNode.deserialize(buffer);
      case 1027:
        return AssignUniqueId.deserialize(buffer);
      case 1028:
        return TableFunctionNode.deserialize(buffer);
      case 1029:
        return TableFunctionProcessorNode.deserialize(buffer);
      case 1030:
        return GroupNode.deserialize(buffer);
      case 2000:
        return RelationalInsertTabletNode.deserialize(buffer);
      case 2001:
        return RelationalInsertRowNode.deserialize(buffer);
      case 2002:
        return RelationalInsertRowsNode.deserialize(buffer);
      case 2003:
        return RelationalDeleteDataNode.deserialize(buffer);
      default:
        throw new IllegalArgumentException("Invalid node type: " + nodeType);
    }
  }