Is there any way of monitoring states of transactions in firebird in order to cancel/rollback them ? I try gfix to find limbo transactions but it never showed anything.

The real problem comes up when i try to alter a stored procedure. if a stored procedure was called before i commit alter statement, it complains about inability to update metadata due to no wait transaction. I am sure that nobody calls sp at that time because its in testing environment. I try to execute "drop procedure" in isq but it also locks. (The sp updates some tables, and I can see successfully updated rows).

What should i do ?

Thanks ...