Subject RE: [Firebird-Java] Re: InputStream Closed
Author Robert DiFalco
>> > Will connection.commit() close any result sets opened in that
>> > transaction?
>>
>> Yes, this is Firebird's design.

Cool. I guess if that is the case, if I am careful to always close or
commit transactions then there is no need for me to explicitly close the
result set.

>> What you can do, is to fetch the blob field (rs.getBlob), then close
>> the result set (here the blob is closed, i.e. all open input streams
>> are closed) and only then obtain input stream from the Blob. I
haven't
>> tried this, but it should work.

This will reconnect to the database and reengage the blob data?

R.

-----Original Message-----
From: Roman Rokytskyy [mailto:rrokytskyy@...]
Sent: Friday, June 20, 2003 1:45 PM
To: Firebird-Java@yahoogroups.com
Subject: [Firebird-Java] Re: InputStream Closed


Hi,

> What if I wanted to have a ResultSet open for the life of a
> transaction?

This is against specification.


What you can do, is to fetch the blob field (rs.getBlob), then close
the result set (here the blob is closed, i.e. all open input streams
are closed) and only then obtain input stream from the Blob. I haven't
tried this, but it should work. I will add more clean way to obtain
Blob that is not controlled by underlying result set (but this will be
JayBird specific).

BTW, current version of JayBird contains implementation for
Blob.length() and has FBBlob.FBBlobInputStream.seek(int).

Best regards,
Roman Rokytskyy


Yahoo! Groups Sponsor
ADVERTISEMENT




To unsubscribe from this group, send an email to:
Firebird-Java-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.