public static ConfigPhysicalPlan create()

in iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigPhysicalPlan.java [185:602]


    public static ConfigPhysicalPlan create(final ByteBuffer buffer) throws IOException {
      final short planType = buffer.getShort();
      final ConfigPhysicalPlanType configPhysicalPlanType =
          ConfigPhysicalPlanType.convertToConfigPhysicalPlanType(planType);
      if (configPhysicalPlanType == null) {
        throw new IOException("Unrecognized log configPhysicalPlanType: " + planType);
      }

      final ConfigPhysicalPlan plan;
      switch (configPhysicalPlanType) {
        case RegisterDataNode:
          plan = new RegisterDataNodePlan();
          break;
        case UpdateDataNodeConfiguration:
          plan = new UpdateDataNodePlan();
          break;
        case RemoveDataNode:
          plan = new RemoveDataNodePlan();
          break;
        case RegisterAINode:
          plan = new RegisterAINodePlan();
          break;
        case RemoveAINode:
          plan = new RemoveAINodePlan();
          break;
        case GetAINodeConfiguration:
          plan = new GetAINodeConfigurationPlan();
          break;
        case UpdateAINodeConfiguration:
          plan = new UpdateAINodePlan();
          break;
        case CreateDatabase:
          plan = new DatabaseSchemaPlan(configPhysicalPlanType);
          break;
        case AlterDatabase:
          plan = new DatabaseSchemaPlan(configPhysicalPlanType);
          break;
        case SetTTL:
          plan = new SetTTLPlan();
          break;
        case SetSchemaReplicationFactor:
          plan = new SetSchemaReplicationFactorPlan();
          break;
        case SetDataReplicationFactor:
          plan = new SetDataReplicationFactorPlan();
          break;
        case SetTimePartitionInterval:
          plan = new SetTimePartitionIntervalPlan();
          break;
        case AdjustMaxRegionGroupNum:
          plan = new AdjustMaxRegionGroupNumPlan();
          break;
        case CreateRegionGroups:
          plan = new CreateRegionGroupsPlan();
          break;
        case UpdateRegionLocation:
          plan = new UpdateRegionLocationPlan();
          break;
        case AddRegionLocation:
          plan = new AddRegionLocationPlan();
          break;
        case RemoveRegionLocation:
          plan = new RemoveRegionLocationPlan();
          break;
        case OfferRegionMaintainTasks:
          plan = new OfferRegionMaintainTasksPlan();
          break;
        case PollRegionMaintainTask:
          plan = new PollRegionMaintainTaskPlan();
          break;
        case PollSpecificRegionMaintainTask:
          plan = new PollSpecificRegionMaintainTaskPlan();
          break;
        case CreateSchemaPartition:
          plan = new CreateSchemaPartitionPlan();
          break;
        case CreateDataPartition:
          plan = new CreateDataPartitionPlan();
          break;
        case AutoCleanPartitionTable:
          plan = new AutoCleanPartitionTablePlan();
          break;
        case DeleteProcedure:
          plan = new DeleteProcedurePlan();
          break;
        case UpdateProcedure:
          plan = new UpdateProcedurePlan();
          break;
        case PreDeleteDatabase:
          plan = new PreDeleteDatabasePlan();
          break;
        case DeleteDatabase:
          plan = new DeleteDatabasePlan();
          break;
        case CreateUserDep:
        case CreateRoleDep:
        case DropUserDep:
        case DropRoleDep:
        case GrantRoleDep:
        case GrantUserDep:
        case GrantRoleToUserDep:
        case RevokeUserDep:
        case RevokeRoleDep:
        case RevokeRoleFromUserDep:
        case UpdateUserDep:
        case CreateUser:
        case CreateRole:
        case DropUser:
        case DropRole:
        case GrantRole:
        case GrantUser:
        case GrantRoleToUser:
        case RevokeUser:
        case RevokeRole:
        case RevokeRoleFromUser:
        case UpdateUser:
        case CreateUserWithRawPassword:
          plan = new AuthorTreePlan(configPhysicalPlanType);
          break;
        case RCreateUser:
        case RCreateRole:
        case RUpdateUser:
        case RDropRole:
        case RDropUser:
        case RGrantUserRole:
        case RRevokeUserRole:
        case RGrantRoleAny:
        case RGrantUserAny:
        case RGrantUserAll:
        case RGrantRoleAll:
        case RGrantUserDBPriv:
        case RGrantUserTBPriv:
        case RGrantRoleDBPriv:
        case RGrantRoleTBPriv:
        case RRevokeRoleAny:
        case RRevokeUserAny:
        case RRevokeUserAll:
        case RRevokeRoleAll:
        case RRevokeUserDBPriv:
        case RRevokeUserTBPriv:
        case RRevokeRoleDBPriv:
        case RRevokeRoleTBPriv:
        case RGrantUserSysPri:
        case RGrantRoleSysPri:
        case RRevokeUserSysPri:
        case RRevokeRoleSysPri:
          plan = new AuthorRelationalPlan(configPhysicalPlanType);
          break;
        case ApplyConfigNode:
          plan = new ApplyConfigNodePlan();
          break;
        case RemoveConfigNode:
          plan = new RemoveConfigNodePlan();
          break;
        case UpdateVersionInfo:
          plan = new UpdateVersionInfoPlan();
          break;
        case UpdateClusterId:
          plan = new UpdateClusterIdPlan();
          break;
        case CreateFunction:
          plan = new CreateFunctionPlan();
          break;
        case UpdateFunction:
          plan = new UpdateFunctionPlan();
          break;
        case DropTreeModelFunction:
          plan = new DropTreeModelFunctionPlan();
          break;
        case DropTableModelFunction:
          plan = new DropTableModelFunctionPlan();
          break;
        case AddTriggerInTable:
          plan = new AddTriggerInTablePlan();
          break;
        case DeleteTriggerInTable:
          plan = new DeleteTriggerInTablePlan();
          break;
        case UpdateTriggerStateInTable:
          plan = new UpdateTriggerStateInTablePlan();
          break;
        case CreateSchemaTemplate:
          plan = new CreateSchemaTemplatePlan();
          break;
        case SetSchemaTemplate:
          plan = new SetSchemaTemplatePlan();
          break;
        case PreSetSchemaTemplate:
          plan = new PreSetSchemaTemplatePlan();
          break;
        case CommitSetSchemaTemplate:
          plan = new CommitSetSchemaTemplatePlan();
          break;
        case DropSchemaTemplate:
          plan = new DropSchemaTemplatePlan();
          break;
        case PreUnsetTemplate:
          plan = new PreUnsetSchemaTemplatePlan();
          break;
        case RollbackUnsetTemplate:
          plan = new RollbackPreUnsetSchemaTemplatePlan();
          break;
        case UnsetTemplate:
          plan = new UnsetSchemaTemplatePlan();
          break;
        case ExtendSchemaTemplate:
          plan = new ExtendSchemaTemplatePlan();
          break;
        case PreCreateTable:
          plan = new PreCreateTablePlan(configPhysicalPlanType);
          break;
        case PreCreateTableView:
          plan = new PreCreateTableViewPlan();
          break;
        case RollbackCreateTable:
          plan = new RollbackCreateTablePlan();
          break;
        case CommitCreateTable:
          plan = new CommitCreateTablePlan();
          break;
        case AddTableColumn:
          plan = new AddTableColumnPlan(configPhysicalPlanType);
          break;
        case AddViewColumn:
          plan = new AddTableViewColumnPlan();
          break;
        case SetTableProperties:
          plan = new SetTablePropertiesPlan(configPhysicalPlanType);
          break;
        case SetViewProperties:
          plan = new SetViewPropertiesPlan();
          break;
        case RenameTableColumn:
          plan = new RenameTableColumnPlan(configPhysicalPlanType);
          break;
        case RenameViewColumn:
          plan = new RenameViewColumnPlan();
          break;
        case PreDeleteTable:
          plan = new PreDeleteTablePlan(configPhysicalPlanType);
          break;
        case PreDeleteView:
          plan = new PreDeleteViewPlan();
          break;
        case CommitDeleteTable:
          plan = new CommitDeleteTablePlan(configPhysicalPlanType);
          break;
        case CommitDeleteView:
          plan = new CommitDeleteViewPlan();
          break;
        case PreDeleteColumn:
          plan = new PreDeleteColumnPlan(configPhysicalPlanType);
          break;
        case PreDeleteViewColumn:
          plan = new PreDeleteViewColumnPlan();
          break;
        case CommitDeleteColumn:
          plan = new CommitDeleteColumnPlan(configPhysicalPlanType);
          break;
        case CommitDeleteViewColumn:
          plan = new CommitDeleteViewColumnPlan();
          break;
        case SetTableComment:
          plan = new SetTableCommentPlan(configPhysicalPlanType);
          break;
        case SetViewComment:
          plan = new SetViewCommentPlan();
          break;
        case SetTableColumnComment:
          plan = new SetTableColumnCommentPlan();
          break;
        case RenameTable:
          plan = new RenameTablePlan(configPhysicalPlanType);
          break;
        case RenameView:
          plan = new RenameViewPlan();
          break;
        case CreatePipeSinkV1:
          plan = new CreatePipeSinkPlanV1();
          break;
        case DropPipeSinkV1:
          plan = new DropPipeSinkPlanV1();
          break;
        case GetPipeSinkV1:
          plan = new GetPipeSinkPlanV1();
          break;
        case PreCreatePipeV1:
          plan = new PreCreatePipePlanV1();
          break;
        case SetPipeStatusV1:
          plan = new SetPipeStatusPlanV1();
          break;
        case DropPipeV1:
          plan = new DropPipePlanV1();
          break;
        case RecordPipeMessageV1:
          plan = new RecordPipeMessagePlan();
          break;
        case CreatePipeV2:
          plan = new CreatePipePlanV2();
          break;
        case SetPipeStatusV2:
          plan = new SetPipeStatusPlanV2();
          break;
        case DropPipeV2:
          plan = new DropPipePlanV2();
          break;
        case AlterPipeV2:
          plan = new AlterPipePlanV2();
          break;
        case OperateMultiplePipesV2:
          plan = new OperateMultiplePipesPlanV2();
          break;
        case PipeHandleLeaderChange:
          plan = new PipeHandleLeaderChangePlan();
          break;
        case PipeHandleMetaChange:
          plan = new PipeHandleMetaChangePlan();
          break;
        case PipeEnriched:
          plan = new PipeEnrichedPlan();
          break;
        case CreateTopic:
          plan = new CreateTopicPlan();
          break;
        case DropTopic:
          plan = new DropTopicPlan();
          break;
        case ShowTopic:
          plan = new ShowTopicPlan();
          break;
        case AlterTopic:
          plan = new AlterTopicPlan();
          break;
        case AlterMultipleTopics:
          plan = new AlterMultipleTopicsPlan();
          break;
        case TopicHandleMetaChange:
          plan = new TopicHandleMetaChangePlan();
          break;
        case AlterConsumerGroup:
          plan = new AlterConsumerGroupPlan();
          break;
        case ConsumerGroupHandleMetaChange:
          plan = new ConsumerGroupHandleMetaChangePlan();
          break;
        case PipeUnsetTemplate:
          plan = new PipeUnsetSchemaTemplatePlan();
          break;
        case PipeDeleteTimeSeries:
          plan = new PipeDeleteTimeSeriesPlan();
          break;
        case PipeDeleteLogicalView:
          plan = new PipeDeleteLogicalViewPlan();
          break;
        case PipeDeactivateTemplate:
          plan = new PipeDeactivateTemplatePlan();
          break;
        case PipeCreateTableOrView:
          plan = new PipeCreateTableOrViewPlan();
          break;
        case PipeDeleteDevices:
          plan = new PipeDeleteDevicesPlan();
          break;
        case UpdateTriggersOnTransferNodes:
          plan = new UpdateTriggersOnTransferNodesPlan();
          break;
        case UpdateTriggerLocation:
          plan = new UpdateTriggerLocationPlan();
          break;
        case ACTIVE_CQ:
          plan = new ActiveCQPlan();
          break;
        case ADD_CQ:
          plan = new AddCQPlan();
          break;
        case DROP_CQ:
          plan = new DropCQPlan();
          break;
        case UPDATE_CQ_LAST_EXEC_TIME:
          plan = new UpdateCQLastExecTimePlan();
          break;
        case CreateModel:
          plan = new CreateModelPlan();
          break;
        case UpdateModelInfo:
          plan = new UpdateModelInfoPlan();
          break;
        case DropModel:
          plan = new DropModelPlan();
          break;
        case ShowModel:
          plan = new ShowModelPlan();
          break;
        case DropModelInNode:
          plan = new DropModelInNodePlan();
          break;
        case GetModelInfo:
          plan = new GetModelInfoPlan();
          break;
        case CreatePipePlugin:
          plan = new CreatePipePluginPlan();
          break;
        case DropPipePlugin:
          plan = new DropPipePluginPlan();
          break;
        case setSpaceQuota:
          plan = new SetSpaceQuotaPlan();
          break;
        case setThrottleQuota:
          plan = new SetThrottleQuotaPlan();
          break;
        default:
          throw new IOException("unknown PhysicalPlan configPhysicalPlanType: " + planType);
      }
      plan.deserializeImpl(buffer);
      return plan;
    }