private static boolean compare()

in backup-core/src/main/java/org/apache/iotdb/backup/core/service/CsvFileValidationService.java [251:286]


  private static boolean compare(String recordValue, Field field, String type)
      throws StatementExecutionException {
    // csv导入的规则
    if ((recordValue == null || "".equals(recordValue))
        && field.getObjectValue(TSDataType.valueOf(type)) == null) {
      return true;
    }
    switch (type) {
      case "TEXT":
        if (recordValue.startsWith("\"") && recordValue.endsWith("\"")) {
          recordValue = recordValue.substring(1, recordValue.length() - 1);
        }
        if ((field.getStringValue() == null) && (recordValue == null || "".equals(recordValue))) {
          return true;
        }
        return recordValue.equals(field.getStringValue());
      case "BOOLEAN":
        if (!"true".equals(recordValue) && !"false".equals(recordValue)) {
          recordValue = null;
        }
        if (field.getDataType() == null && recordValue == null) {
          return true;
        }
        return Boolean.valueOf(recordValue).equals(field.getBoolV());
      case "INT32":
        return Integer.valueOf(recordValue) == field.getIntV();
      case "INT64":
        return Long.valueOf(recordValue) == field.getLongV();
      case "FLOAT":
        return Float.valueOf(recordValue) == field.getFloatV();
      case "DOUBLE":
        return Double.valueOf(recordValue) == field.getDoubleV();
      default:
        return recordValue.equals(field.getObjectValue(TSDataType.valueOf(type)));
    }
  }