From: Alex G. (JIRA) <tr...@fi...> - 2012-12-24 04:23:29
|
alter procedure - object is in use ---------------------------------- Key: CORE-4016 URL: http://tracker.firebirdsql.org/browse/CORE-4016 Project: Firebird Core Issue Type: Bug Components: Engine Affects Versions: 2.5.2, 2.1.5, 2.5.1, 2.1.4, 2.5.0, 2.1.3, 2.1.2, 2.1.1, 2.1.0 Environment: Windows (any version I tried) Reporter: Alex Gilev It's not possible to alter procedure1 in transaction1 what used in another procedure2, queried in NOT read only transaction2. How to reproduce. Open IBExpert, in the Script executive: SET TERM ^ ; CREATE OR ALTER PROCEDURE TestProc1 returns (TestParam numeric (15,2)) AS BEGIN TestParam=1; suspend; END ^ CREATE OR ALTER PROCEDURE TestProc2 returns (TestParam numeric (15,2)) AS BEGIN select TestParam from TestProc1 into :TestParam; suspend; END ^ SET TERM ; ^ select * from TestProc2; SET TERM ^ ; ALTER PROCEDURE TestProc1 returns (TestParam numeric (15,3)) AS BEGIN TestParam=1; suspend; END ^ SET TERM ; ^ Executed well. Open another IBExpert, in SQL Editor window execute such query: select * from TestProc2; Now returning into the first IBExpert and trying to execute the same script, receive 3 errors like this: lock conflict on no wait transaction. unsuccessful metadata update. object TESTPROC1 is in use. Firebird 1.5.x had not such issue. Problem is critical for us because our autoupdate system for databases can not work well if users working and have write transactions. Note: This is maybe duplicate of CORE-1081, but not duplicate of CORE-888. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira |