public static void processTypeConflictColumn(
      ColumnSchema incoming, ColumnSchema real, int i, InsertBaseStatement innerTreeStatement) {
    SemanticException semanticException =
        new SemanticException(
            String.format(
                "Incompatible data type of column %s: %s/%s",
                incoming.getName(), incoming.getType(), real.getType()),
            TSStatusCode.DATA_TYPE_MISMATCH.getStatusCode());
    if (incoming.getColumnCategory() != TsTableColumnCategory.FIELD
        || !IoTDBDescriptor.getInstance().getConfig().isEnablePartialInsert()) {
      // non-measurement columns cannot be partially inserted
      throw semanticException;
    } else {
      // partial insertion
      innerTreeStatement.markFailedMeasurement(i, semanticException);
    }
  }
Adjust the order of ID columns in this insertion to be consistent with that from the schema
region.

@param realIdColumnSchemas id column order from the schema region
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WrappedInsertStatement.java