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)));
}
}