public static int toOid()

in src/main/java/com/google/cloud/spanner/pgadapter/parsers/Parser.java [408:477]


  public static int toOid(com.google.spanner.v1.Type type) {
    switch (type.getCode()) {
      case BOOL:
        return Oid.BOOL;
      case INT64:
        if (type.getTypeAnnotation() == TypeAnnotationCode.PG_OID) {
          return Oid.OID;
        }
        return Oid.INT8;
      case 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 JSON:
        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:
            if (type.getArrayElementType().getTypeAnnotation() == TypeAnnotationCode.PG_OID) {
              return Oid.OID_ARRAY;
            }
            return Oid.INT8_ARRAY;
          case 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 JSON:
            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 ARRAY:
          case STRUCT:
          default:
            throw PGExceptionFactory.newPGException(
                "Unsupported or unknown array type: " + type, SQLState.InternalError);
        }
      case STRUCT:
      default:
        throw PGExceptionFactory.newPGException(
            "Unsupported or unknown type: " + type, SQLState.InternalError);
    }
  }