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

Re: blob without largeobject api

From: Edoardo Ceccarelli <eddy(at)axa(dot)it>
To: Oliver Jowett <oliver(at)opencloud(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: blob without largeobject api
Date: 2004-04-06 12:36:40
Message-ID: 4072A458.3020808@axa.it (view raw or flat)
Thread:
Lists: pgsql-jdbc
I was thinking to get this chance and drop the Resin pool to start using 
Postgres one for all database connections in my app.
Can you give me some hints about its reliability and point me some 
example code?

Thanks again
Edoardo
PS: the procedure to clean up not referenced LO's would be needed also 
using LargeObjectAPI?


Oliver Jowett ha scritto:

> Edoardo Ceccarelli wrote:
>
>> Tried with a driver downloaded from http://jdbc.postgresql.org/
>>
>> pg74.213.jdbc3.jar
>>
>> the result is always the same:
>> java.lang.ClassCastException: com.caucho.sql.UserConnection
>> on row:
>> LargeObjectManager lom = 
>> ((org.postgresql.PGConnection)db).getLargeObjectAPI();
>
>
> Ok, this means your pooling implementation is not using the postgresql 
> driver's PooledConnection to generate the proxy connections to hand 
> out, but is implementing them itself (using instances of 
> com.caucho.sql.UserConnection, it appears). So you won't be able to 
> get at postgresql-specific interfaces with that pooling 
> implementation, regardless of what the driver does.
>
>> I think that the second suggestion is about using a "standard" way to 
>> save a blob field, I have tried something like this:
>> - insert record without blob
>> - open record for update and use setBytes() to save blob data
>> having some minor problems so far but I'd like to know if this is the 
>> right way to do it.
>
>
> That's the basic idea, although there's no real need to separate the 
> insert and update. With compatible=7.1 in effect, setBytes() becomes 
> "create an appropriate LO and set the parameter to the new OID". The 
> main gotcha is that you must wrap any queries that deal with LOs in a 
> transaction; autocommit won't work. You'll also need a mechanism to 
> clean up LOs that no longer have references to them in the main DB (I 
> think there might be something in contrib/ to do this?)
>
> -O
>
>
>

In response to

Responses

pgsql-jdbc by date

Next:From: Jim EwertDate: 2004-04-06 13:11:06
Subject: Re: Slow updates
Previous:From: Oliver JowettDate: 2004-04-06 12:24:35
Subject: Re: blob without largeobject api

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