Subject Re: [Firebird-Java] Re: Jaybird 'object in use' error adding ref integrity constraint
Author Nickolay Samofatov
Hello Roman,

Wednesday, October 02, 2002, 3:31:01 PM, you wrote:

> Hi Nickolay,

>> There is locking. When engine does internal DDL queries it does
>> more locking in isc_tpb_consistency mode. Existance of prepared
>> statement on one connection prevents any DDL modification of any
>> object it uses even on this connection - this is by design. If
>> there is some kind of resource leak when statement doesn't get
>> closed nobody will be able to do any DDL on objects it uses until
>> you restart the server.

> Ok, but if there is no resource leak, then it should be ok. Right? I
> mean, in theory, if we execute statement, it succeeds, and we close
> the statement correctly, lock is released, right?

In theory - yes (that wasn't the case before FB1.5 because of internal
metadata caching). IB6/FB1 database engine core has a lot of
internal statement/cursor leaks. I tested it extensively with
isc_tbp_concurrency and fixed a lot of bugs (fixes are in FB 1.5).

No testing was performed in isc_tbp_consistency mode. This mode
require locks to be threated slightly differently. I did not analyse
this code yet (and even did not have plans to do it).
This mode wasn't widely used for years and require testing and db
engine core modification to make it work correctly. I also do not
have plans to do it. Maybe somebody else has.

--
Best regards,
Nickolay Samofatov mailto:skidder@...