On Wed, 7 Jan 2004, Martin Holz wrote: > Hello, > > org.postgresql.jdbc1.AbstractJdbc1Statement.setBinaryStream() > in postgresql 7.4.1 wrongly assumes, that > java.io.InputStream.read(byte[] b,int offset,int len ) > will always read len bytes. InputStream only guarantees to > return at least 1 byte per call. The attached patch solves the bug. Yes, it can even return 0 bytes if it feels like it. > Btw. setBinaryStream() should really throw an SQLException, if > in can not read as many bytes as expected from the InputStream. > Otherwise the application might silently loss data. The odd thing about the javadocs is that they say "The data will be read from the stream as needed until end-of-file is reached." The length parameter's comment is "the number of bytes in the stream." This is strange because it seems to imply that the length argument is just for informational purposes and should not be used to limit the amount of data actually read from the stream. Kris Jurka
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера