Subject | Re[2]: [Firebird-Java] Another Issue with JBoss |
---|---|
Author | Nickolay Samofatov |
Post date | 2002-11-21T13:04:01Z |
Hello Phil,
Thursday, November 21, 2002, 12:14:49 PM, you wrote:
If you have procedures and/or triggers (system triggers enforcing
constraints also cause the problems) bugs in their handling in IB6/FB1
may prevent you doing this even if you have one connection and commit
after each statement (or at whatever place). Only complete database
restart allows to continue execution of script.
The easiest workaround (I actually used it for a couple of years) for
this if you have to stick to FB1 is to restart database engine each
time you receive "OBJECT XXX IN USE" message. Simple way of doing this
is to send a statement that crashes the engine (chose a one you like
from the tracker), wait a second until guardian restarts it and
reestablish connection.
I even have a patched version of Jaybird that have such capability
built-in :))))
You cannot do almost any metadata operations when having several
running database engines accessing one database (like several CS
connections). Several SS connections should be ok.
And one last thing. In FB1/IB6 dropping of any index sometimes causes
deferred database corruption. Restart your database immediately after
you finished changing metadata. I would even recommend backup/restore
after doing any metadata operations on FB/IB versions preceding FB1.5.
All mentioned problems often arise if you have to manage complex
data schema with at least several hundreds of database objects.
With simplier schemas this problems usually remain unseen.
Best regards,
Nickolay Samofatov mailto:skidder@...
Thursday, November 21, 2002, 12:14:49 PM, you wrote:
>> Massive metadata operations didn't workThis is wrong for FB/IB (and should be wrong for all earlier versions).
>> until FB1.5.
> Whilst I know of issues when changing/droping metadata, creating metadata
> should not be a problem if commits are issued in the correct place.
If you have procedures and/or triggers (system triggers enforcing
constraints also cause the problems) bugs in their handling in IB6/FB1
may prevent you doing this even if you have one connection and commit
after each statement (or at whatever place). Only complete database
restart allows to continue execution of script.
The easiest workaround (I actually used it for a couple of years) for
this if you have to stick to FB1 is to restart database engine each
time you receive "OBJECT XXX IN USE" message. Simple way of doing this
is to send a statement that crashes the engine (chose a one you like
from the tracker), wait a second until guardian restarts it and
reestablish connection.
I even have a patched version of Jaybird that have such capability
built-in :))))
You cannot do almost any metadata operations when having several
running database engines accessing one database (like several CS
connections). Several SS connections should be ok.
And one last thing. In FB1/IB6 dropping of any index sometimes causes
deferred database corruption. Restart your database immediately after
you finished changing metadata. I would even recommend backup/restore
after doing any metadata operations on FB/IB versions preceding FB1.5.
All mentioned problems often arise if you have to manage complex
data schema with at least several hundreds of database objects.
With simplier schemas this problems usually remain unseen.
> Phil--
Best regards,
Nickolay Samofatov mailto:skidder@...