in src/main/java/com/google/cloud/spanner/pgadapter/parsers/Parser.java [341:400]
public static Type toType(int oid) {
switch (oid) {
case Oid.BOOL:
case Oid.BIT:
return Type.bool();
case Oid.BYTEA:
case Oid.BIT_ARRAY:
return Type.bytes();
case Oid.DATE:
return Type.date();
case Oid.FLOAT4:
return Type.float32();
case Oid.FLOAT8:
return Type.float64();
case Oid.INT2:
case Oid.INT4:
case Oid.INT8:
return Type.int64();
case Oid.OID:
return Type.pgOid();
case Oid.NUMERIC:
return Type.pgNumeric();
case Oid.TEXT:
case Oid.VARCHAR:
return Type.string();
case Oid.UUID:
return Type.uuid();
case Oid.TIMESTAMP:
case Oid.TIMESTAMPTZ:
return Type.timestamp();
case Oid.INTERVAL:
return Type.interval();
case Oid.JSONB:
return Type.pgJsonb();
case Oid.BOOL_ARRAY:
case Oid.BYTEA_ARRAY:
case Oid.DATE_ARRAY:
case Oid.FLOAT4_ARRAY:
case Oid.FLOAT8_ARRAY:
case Oid.INT2_ARRAY:
case Oid.INT4_ARRAY:
case Oid.INT8_ARRAY:
case Oid.OID_ARRAY:
case Oid.NUMERIC_ARRAY:
case Oid.TEXT_ARRAY:
case Oid.VARCHAR_ARRAY:
case Oid.UUID_ARRAY:
case Oid.TIMESTAMP_ARRAY:
case Oid.TIMESTAMPTZ_ARRAY:
case Oid.INTERVAL_ARRAY:
case Oid.JSONB_ARRAY:
return Type.array(toType(getArrayElementOid(oid)));
case Oid.UNSPECIFIED:
default:
throw PGExceptionFactory.newPGException(
"Unsupported or unknown OID: " + oid, SQLState.InvalidParameterValue);
}
}