From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Albe Laurenz <all(at)adv(dot)magwien(dot)gv(dot)at> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Large Objects with OID > 2147483647 |
Date: | 2007-02-19 06:07:37 |
Message-ID: | Pine.BSO.4.64.0702190106330.24412@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Mon, 11 Dec 2006, Albe Laurenz wrote:
> In a posting to the newsgroup comp.databases.postgresql,
> somebody has complained that he gets
>
> org.postgresql.util.PSQLException: Bad value for type int : 2338491788.
>
> when he tries to access a BLOB.
> The problem is new for the poster, it used to work.
>
> This looks like a bug in the driver to me:
> In the driver source code, I see that the OID is treated as 'int',
> which according to
> http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html
> is a 4 byte signed integer, while OIDs are 4 byte unsigned integers.
>
> So accessing Large Objects with OID > 2147483647 as BLOB will not
> work, right? I think that 'long' would be more appropriate than 'int'.
>
> Is this problem known?
>
I have put a fix into CVS for 8.1, 8.2 and head drivers that stores the
OIDs as longs insteads of ints.
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Albe Laurenz | 2007-02-19 08:44:22 | Re: Large Objects with OID > 2147483647 |
Previous Message | John R Pierce | 2007-02-19 05:27:58 | Re: query using JDBC with postgresql |