From the Javadoc of java.sql.Blob byte[] getBytes(long pos, int length)
throws SQLException;
* @param pos the ordinal position of the first byte in the
*BLOB value to be extracted; the first byte is at
*position 1
pqsql driver assumes the position starts from 0
Patch attached
--
Emmanuel Bernard
http://www.hibernate.org
callto://emmanuelbernard
Index: org/postgresql/jdbc2/AbstractJdbc2BlobClob.java
===
RCS file:
/usr/local/cvsroot/pgjdbc/pgjdbc/org/postgresql/jdbc2/AbstractJdbc2BlobClob.java,v
retrieving revision 1.1
diff -u -r1.1 AbstractJdbc2BlobClob.java
--- org/postgresql/jdbc2/AbstractJdbc2BlobClob.java 28 Mar 2005 08:52:35
- 1.1
+++ org/postgresql/jdbc2/AbstractJdbc2BlobClob.java 6 May 2005 09:59:42
-
@@ -46,7 +46,8 @@
public byte[] getBytes(long pos, int length) throws SQLException
{
-lo.seek((int)pos, LargeObject.SEEK_SET);
+//throw an appropriate exception if pos < 1
+lo.seek((int)pos-1, LargeObject.SEEK_SET);
return lo.read(length);
}
---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster