Обсуждение: Bug in AbstractJdbc2BlobClob

Поиск
Список
Период
Сортировка

Bug in AbstractJdbc2BlobClob

От
SJ Kissane
Дата:
Hi everyone

I'm using JDBC4 Postgresql Driver, Version 8.4-701.

Using pgJDBC, if you call clob.truncate(0) to truncate a clob to zero-length, you get a "org.postgresql.util.PSQLException: LOB positioning offsets start at 1".
This is spurious -- the argument to truncate is not a position offset, its a length. So although position offsets must start at 1, lengths can start at 0.
I see there is a call to assertPosition(len) -- that needs to go, maybe replace with a new assertLength(len)?

(I am not on list so please reply direct; I hope this gets through to you though...)

Cheers
Simon

Re: Bug in AbstractJdbc2BlobClob

От
Kris Jurka
Дата:

On Fri, 15 Jan 2010, SJ Kissane wrote:

> I'm using JDBC4 Postgresql Driver, Version 8.4-701.
>
> Using pgJDBC, if you call clob.truncate(0) to truncate a clob to
> zero-length, you get a "org.postgresql.util.PSQLException: LOB positioning
> offsets start at 1".
> This is spurious -- the argument to truncate is not a position offset, its a
> length. So although position offsets must start at 1, lengths can start at
> 0.
> I see there is a call to assertPosition(len) -- that needs to go, maybe

You are correct.  Fixed in CVS for 8.3, 8.4, and HEAD.

Kris Jurka