db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From TomohitoNakayama <tomon...@basil.ocn.ne.jp>
Subject Wondering to myself about doing layer B streaming from client to server
Date Fri, 30 Jun 2006 15:58:41 GMT

Continuing DERBY-1301(http://issues.apache.org/jira/browse/DERBY-1301),
I came to have question whether layer B streaming should be done when
lob was sent from client to server.

Reading javadoc for java.sql package, I found that methods passing
stream object to driver always takes parameter for length information.
Then, driver can simply pass that length information to server.

I think there are no need for driver to execute layer B streaming,
because caller of driver always pass length of streamed object to driver.

However, here comes another question.

DERBY-550(http://issues.apache.org/jira/browse/DERBY-550), which is
linked from DERBY-1301 told that
current implementation of org.apache.derby.jdbc.ClientDriver expands
object to be streamed into memory and
this behavior tends to cause OutOfMemoryError.

Are there any reason why current driver expands object into memory,
though length of the object is served as parameter of method ?

I think it is needed to survey some more around current implementation
of driver and
clear the mystery in org.apache.derby.jdbc.ClientDriver, around
expanding object into memory before sending ....

Best regards.


        Tomohito Nakayama



View raw message