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

Re: setBlob() copies the blob, even it was already a PostgreSQL blob!

From: Kris Jurka <books(at)ejurka(dot)com>
To: Dobes <dobesv(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: setBlob() copies the blob, even it was already a PostgreSQL blob!
Date: 2010-05-28 18:52:40
Message-ID: alpine.BSO.2.00.1005281440030.30913@leary.csoft.net (view raw or flat)
Thread:
Lists: pgsql-jdbc

On Thu, 27 May 2010, Dobes wrote:

> Looking at org.postgresql.jdbc2.AbstractJdbc2Statement.setBlob(int,
> Blob) it seems to copy the given blob, even if the blob was already a
> PostgreSQL blob.

Just knowing it's a postgresql blob isn't enough.  You could have fetched 
that blob from another connection to another database on another server. 
So at minimum you'd need to know the blob was retrieved from the same 
connection.  It's also not clear that you never want to copy the blob. 
It's really a pain how PG requires you to manually garbage collect your 
blobs, so your strategy for doing that impacts whether you want to copy or 
not.

Certainly once we get Connection.createBlob to work we don't want to have 
two copies of that, so we'll need some sort of fix at some point, but it's 
not clear to me that never copying is the answer.

Kris Jurka

In response to

pgsql-jdbc by date

Next:From: Radosław SmoguraDate: 2010-05-29 09:12:56
Subject: Re: Using java.lang.Character for "char" data type
Previous:From: Kris JurkaDate: 2010-05-28 18:37:26
Subject: Re: no timeout in AbstractJdbc23PoolingDataSource#getPooledConnection

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