in src/main/java/com/google/cloud/spanner/pgadapter/parsers/Parser.java [268:339]
public static int toOid(Type type) {
switch (type.getCode()) {
case BOOL:
return Oid.BOOL;
case INT64:
return Oid.INT8;
case PG_OID:
return Oid.OID;
case PG_NUMERIC:
return Oid.NUMERIC;
case FLOAT32:
return Oid.FLOAT4;
case FLOAT64:
return Oid.FLOAT8;
case STRING:
return Oid.VARCHAR;
case UUID:
return Oid.UUID;
case PG_JSONB:
return Oid.JSONB;
case BYTES:
return Oid.BYTEA;
case TIMESTAMP:
return Oid.TIMESTAMPTZ;
case INTERVAL:
return Oid.INTERVAL;
case DATE:
return Oid.DATE;
case ARRAY:
switch (type.getArrayElementType().getCode()) {
case BOOL:
return Oid.BOOL_ARRAY;
case INT64:
return Oid.INT8_ARRAY;
case PG_OID:
return Oid.OID_ARRAY;
case PG_NUMERIC:
return Oid.NUMERIC_ARRAY;
case FLOAT32:
return Oid.FLOAT4_ARRAY;
case FLOAT64:
return Oid.FLOAT8_ARRAY;
case STRING:
return Oid.VARCHAR_ARRAY;
case UUID:
return Oid.UUID_ARRAY;
case PG_JSONB:
return Oid.JSONB_ARRAY;
case BYTES:
return Oid.BYTEA_ARRAY;
case TIMESTAMP:
return Oid.TIMESTAMPTZ_ARRAY;
case INTERVAL:
return Oid.INTERVAL_ARRAY;
case DATE:
return Oid.DATE_ARRAY;
case NUMERIC:
case JSON:
case ARRAY:
case STRUCT:
default:
throw PGExceptionFactory.newPGException(
"Unsupported or unknown array type: " + type, SQLState.InternalError);
}
case NUMERIC:
case JSON:
case STRUCT:
default:
throw PGExceptionFactory.newPGException(
"Unsupported or unknown type: " + type, SQLState.InternalError);
}
}