Skip site navigation (1) Skip section navigation (2)

Re: Large Objects with OID > 2147483647

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 (view raw or flat)
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

In response to

Responses

pgsql-jdbc by date

Next:From: Albe LaurenzDate: 2007-02-19 08:44:22
Subject: Re: Large Objects with OID > 2147483647
Previous:From: John R PierceDate: 2007-02-19 05:27:58
Subject: Re: query using JDBC with postgresql

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group