private RegionExecutionResult executeCreateOrUpdateTableDevice(
        final CreateOrUpdateTableDeviceNode node,
        final WritePlanNodeExecutionContext context,
        final boolean receivedFromPipe) {
      final ISchemaRegion schemaRegion =
          schemaEngine.getSchemaRegion((SchemaRegionId) context.getRegionId());
      try {
        schemaRegion.checkSchemaQuota(node.getTableName(), node.getDeviceIdList());
      } catch (final SchemaQuotaExceededException e) {
        return RegionExecutionResult.create(
            false, e.getMessage(), RpcUtils.getStatus(e.getErrorCode(), e.getMessage()));
      }
      return receivedFromPipe
          ? super.visitPipeEnrichedWritePlanNode(new PipeEnrichedWritePlanNode(node), context)
          : super.visitCreateOrUpdateTableDevice(node, context);
    }
Check the quota before creating time series.

@return null if the quota is not exceeded, otherwise return the execution result.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionWriteExecutor.java