Re: [PATCHES] Blob .getBytes position should start at 1

2005-05-08 Thread Kris Jurka


On Fri, 6 May 2005, Emmanuel Bernard wrote:

>  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
> 

Indeed.  I've put a fix in 7.4, 8.0, and HEAD branches.

Thanks.

Kris Jurka

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly


[PATCHES] Blob .getBytes position should start at 1

2005-05-06 Thread Emmanuel Bernard
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