in java/src/main/java/com/google/cloud/dataproc/dialects/SpannerJdbcDialect.java [64:93]
public Option<JdbcType> getJDBCType(final DataType dt) {
if (IntegerType.equals(dt)) {
return Option.apply(new JdbcType("INT64", 4));
} else if (LongType.equals(dt)) {
return Option.apply(new JdbcType("INT64", -5));
} else if (DoubleType.equals(dt)) {
return Option.apply(new JdbcType("FLOAT64", 8));
} else if (FloatType.equals(dt)) {
return Option.apply(new JdbcType("FLOAT64", 6));
} else if (ShortType.equals(dt)) {
return Option.apply(new JdbcType("INT64", 5));
} else if (ByteType.equals(dt)) {
return Option.apply(new JdbcType("BYTES(1)", -6));
} else if (BooleanType.equals(dt)) {
return Option.apply(new JdbcType("BOOL", -7));
} else if (StringType.equals(dt)) {
return Option.apply(new JdbcType("STRING(MAX)", 2005));
} else if (BinaryType.equals(dt)) {
org.apache.spark.sql.types.BinaryType binaryType = (org.apache.spark.sql.types.BinaryType) dt;
return Option.apply(new JdbcType("BYTES(MAX)", 2004));
} else if (TimestampType.equals(dt)) {
return Option.apply(new JdbcType("TIMESTAMP", 93));
} else if (DateType.equals(dt)) {
return Option.apply(new JdbcType("DATE", 91));
} else if (dt instanceof DecimalType) {
return Option.apply(new JdbcType("NUMERIC", 3));
} else {
return Option.empty();
}
}