Hmmm, what's the performance issues with this? Is there going to be a problem with very large LargeObject's? Quoting "Paul M. Aoki" <[EMAIL PROTECTED]>: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > Anyone able to fix this? > > here's a hack we've been using in-house (written by Jun Gabayan, > <[EMAIL PROTECTED]>). > > you may not like the style but it's a stab at a solution. > -- > Paul M. Aoki / Xerox Palo Alto Research Center / 3333 Coyote Hill Road > [EMAIL PROTECTED] / Computer Science Laboratory / Palo Alto, CA > 94304-1314 > > Index: LargeObject.java > =================================================================== > RCS file: > /project/placeless/cvsroot/placeless2/src/org/postgresql/largeobject/LargeObje ct.java,v > retrieving revision 1.1 > retrieving revision 1.3 > diff -r1.1 -r1.3 > 64c64,67 > < > --- > > > > private int pos = 0; //current position > > private int size = 0; > > > 85a89,90 > > pos = tell(); > > size = size(); > 102a108 > > if(fd == 0) return; > 105a112 > > fd = 0; > 118a126,132 > > // calculate available data to read to avoid reading pass the > end > > // to avoid an exception > > pos = tell(); > > int avail = size - pos; > > if(avail == 0) return null; > > if(avail < len) len = avail; > > try { > 123c137,141 > < > --- > > }catch(SQLException se) { > > System.out.println("***LargeObject.read: Caught > SQLException: " + se.getMessage()); > > return null; > > } > > > 157c175 > < public void read(byte buf[],int off,int len) throws SQLException > --- > > public int read(byte buf[],int off,int len) throws SQLException > 159c177,180 > < System.arraycopy(read(len),0,buf,off,len); > --- > > byte mybuf[] = read(len); > > int sz = (mybuf != null) ? mybuf.length : -1; //must return -1 for > end of data > > if(sz > 0) System.arraycopy(mybuf,0,buf,off,sz); > > return sz; > -- Peter Mount [EMAIL PROTECTED] PostgreSQL JDBC Driver: http://www.retep.org.uk/postgres/ RetepPDF PDF library for Java: http://www.retep.org.uk/pdf/