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 Problem around EmbedResultSet#getBinaryStream
Date Sun, 20 Nov 2005 15:19:38 GMT

Now, I'm working on DERBY-326, "Improve streaming of large objects for 
network server and client" .
In this task, I found problem around EmbedResultSet#getBinaryStream , 
which blocks DERBY-326.

Preface :
Set of InputStream for same value in resultset , retrieved via 
EmbedResultSet#getBinaryStream , seems to refer same InputStream object
originated from StreamStorable DataValueDescriptor object , as source 
InputStream object.

"Set of InputStream" means multiple calls for 
EmbedResultSet#getBinaryStream , and multiple InputStream objects.

Problem :
Problem is that state of InputStream object retrieved via 
EmbedResultSet#getBinaryStream is not clean,
if there exists previous InputStream object for same source ,
because source InputStream object seems not be initialized when 
EmbedResultSet#getBinaryStream was called.

// More concretely  in my task ,this problem seems to cause problem that
// complete data was not read from 2nd InputStream ,
// because previous InputStream read out head of data of BLOB.

My Consideration :
I think this phenomena is bug as JDBC spec of ResultSet#getBinaryStream 
and ,
we need code to initialize InputStream object bound to StreamStorable 
DataValueDescriptor object,
when EmbedResultSet#getBinaryStream was called .

Please give any opinion ...
I didn't imagine working on drda hits around engine .... :I

Best regards.


        Tomohito Nakayama



View raw message