@Override
  public Analysis visitInternalCreateMultiTimeSeries(
      final InternalCreateMultiTimeSeriesStatement internalCreateMultiTimeSeriesStatement,
      final MPPQueryContext context) {
    context.setQueryType(QueryType.WRITE);

    final Analysis analysis = new Analysis();
    analysis.setRealStatement(internalCreateMultiTimeSeriesStatement);

    final PathPatternTree pathPatternTree = new PathPatternTree();
    for (final Map.Entry<PartialPath, Pair<Boolean, MeasurementGroup>> entry :
        internalCreateMultiTimeSeriesStatement.getDeviceMap().entrySet()) {
      checkIsTemplateCompatible(
          entry.getKey(), entry.getValue().right.getMeasurements(), null, context);
      pathPatternTree.appendFullPath(entry.getKey().concatNode(ONE_LEVEL_PATH_WILDCARD));
    }

    final SchemaPartition schemaPartitionInfo;
    schemaPartitionInfo =
        partitionFetcher.getOrCreateSchemaPartition(
            pathPatternTree, context.getSession().getUserName());
    analysis.setSchemaPartitionInfo(schemaPartitionInfo);
    return analysis;
  }
Check datatype consistency in ALIGN BY DEVICE.

<p>an inconsistent example: select s0 from root.sg1.d1, root.sg1.d2 align by device, return
false while root.sg1.d1.s0 is INT32 and root.sg1.d2.s0 is FLOAT.
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java