in src/main/java/com/uber/uberscriptquery/jdbc/JdbcUtils.java [178:198]
public static String getJdbcTypeString(Class<?> valueClass, boolean isPrimaryKeyOrUniqueKey, boolean isDatetime, boolean isText) {
int maxVarcharLength = isPrimaryKeyOrUniqueKey ? 150 : 250;
String sqlTypeForString = isText ? "TEXT" : String.format("VARCHAR(%s)", maxVarcharLength);
if (isDatetime || valueClass.equals(Date.class)) {
return "DATETIME";
} else if (valueClass.equals(String.class)) {
return sqlTypeForString;
} else if (valueClass.equals(Integer.class)) {
return "INT";
} else if (valueClass.equals(Long.class)) {
return "BIGINT";
} else if (valueClass.equals(Float.class)) {
return "FLOAT";
} else if (valueClass.equals(Double.class)) {
return "DOUBLE";
} else if (valueClass.equals(Boolean.class)) {
return "TINYINT";
} else {
throw new RuntimeException(String.format("Unsupported property type for JDBC: %s", valueClass));
}
}