Re: oid as long type

From: Kris Jurka <books(at)ejurka(dot)com>
To: Mark Lewis <mark(dot)lewis(at)mir3(dot)com>
Cc: Ryan Li <rleeuk(at)yahoo(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: oid as long type
Date: 2006-02-08 18:11:38
Message-ID: Pine.BSO.4.61.0602081300560.13208@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Wed, 8 Feb 2006, Mark Lewis wrote:

> To maintain compatibility with existing code but still give access to
> the entire OID value space, why not map OID values >= 2**31 to negative
> numbers-- i.e. just consider them to be signed ints?

We don't always know when we're working with OIDs. If someone says
PreparedStatement.setInt() we don't know if they're passing us a mangled
OID they got from LargeObjectManager.create or if they're just passing us
an int, so we'd have to send the mangled form to the database. This will
break any triggers that are added to delete large objects on row deletion
and will completely break any non-JDBC clients that access the database.
You'd also have to adjust all of your ResultSet.getInt() calls to
determine if you're dealing with an OID and then check if it's a mangled
OID or not. Doesn't sound like a great idea to me.

Kris Jurka

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kevin Grittner 2006-02-08 21:48:53 PGobject returned from ResultSet.getObject
Previous Message Mark Lewis 2006-02-08 17:41:01 Re: oid as long type