private void checkIsTemplateCompatible(
      final PartialPath timeSeriesPath, final String alias, final MPPQueryContext context) {
    DataNodeSchemaLockManager.getInstance()
        .takeReadLock(context, SchemaLockType.TIMESERIES_VS_TEMPLATE);
    final Pair<Template, PartialPath> templateInfo =
        schemaFetcher.checkTemplateSetAndPreSetInfo(timeSeriesPath, alias);
    if (templateInfo != null) {
      throw new SemanticException(
          new TemplateIncompatibleException(
              timeSeriesPath.getFullPath(), templateInfo.left.getName(), templateInfo.right));
    }
  }
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