in java/src/main/java/com/google/cloud/dataproc/dialects/SpannerPostgresJDBCDialect.java [41:70]
public Option<JdbcType> getJDBCType(final DataType dt) {
if (IntegerType.equals(dt)) {
return Option.apply(new JdbcType("INT", 4));
} else if (LongType.equals(dt)) {
return Option.apply(new JdbcType("INT8", -5));
} else if (DoubleType.equals(dt)) {
return Option.apply(new JdbcType("FLOAT8", 8));
} else if (FloatType.equals(dt)) {
return Option.apply(new JdbcType("FLOAT8", 6));
} else if (ShortType.equals(dt)) {
return Option.apply(new JdbcType("INT8", 5));
} else if (ByteType.equals(dt)) {
return Option.apply(new JdbcType("BYTEA", 2004));
} else if (BooleanType.equals(dt)) {
return Option.apply(new JdbcType("BOOL", -7));
} else if (StringType.equals(dt)) {
return Option.apply(new JdbcType("TEXT", 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("BYTEA", 2004));
} else if (TimestampType.equals(dt)) {
return Option.apply(new JdbcType("TIMESTAMPTZ", 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();
}
}