in spanner/jdbc/src/main/java/com/example/spanner/jdbc/LoadCsvExample.java [116:137]
static TypeCode parseSpannerDataType(String columnType) {
if (columnType.matches("(?i)STRING(?:\\((?:MAX|[0-9]+)\\))?")) {
return TypeCode.STRING;
} else if (columnType.matches("(?i)BYTES(?:\\((?:MAX|[0-9]+)\\))?")) {
return TypeCode.BYTES;
} else if (columnType.equalsIgnoreCase("INT64")) {
return TypeCode.INT64;
} else if (columnType.equalsIgnoreCase("FLOAT64")) {
return TypeCode.FLOAT64;
} else if (columnType.equalsIgnoreCase("NUMERIC")) {
return TypeCode.NUMERIC;
} else if (columnType.equalsIgnoreCase("BOOL")) {
return TypeCode.BOOL;
} else if (columnType.equalsIgnoreCase("DATE")) {
return TypeCode.DATE;
} else if (columnType.equalsIgnoreCase("TIMESTAMP")) {
return TypeCode.TIMESTAMP;
} else {
throw new IllegalArgumentException(
"Unrecognized or unsupported column data type: " + columnType);
}
}