Subject Re: [Firebird-Java] 335544329 invalid BLOB ID
Author Jim Starkey
Roman Rokytskyy wrote:

>>Is there any chance the blob was deleted before the insert completed?
>>The scenario I see is if you do an INSERT INTO ... SELECT ...
>>There is a discussion on the Architect list right now about the problem
>>where Blobs are garbage collected while they are still in use.
>Then you have answered on your question, didn't you? :)
>Yes, this is possible, otherwise nobody would discuss possible fixes without
>changing the ODS to include it in Firebird 2.0. This applies for READ
>COMMITTED isolation level, so switching to REPEATABLE READ should solve this
>problem (though it might not fit your application).
No, happily this isn't possible. Blobs are garbage collected when the
parent records are deleted or have versions pruned. And the symptom
would only be visible from a read committed transaction and then only
between the interval of fetching a record and having it deleted and
garbage collected. A transaction containing an insert wouldn't meet any
of these conditions, let alone all of them.


Jim Starkey
Netfrastructure, Inc.
978 526-1376