Altering a procedure called by another procedure doesn't recompile parent
-------------------------------------------------------------------------

                 Key: CORE-5065
                 URL: http://tracker.firebirdsql.org/browse/CORE-5065
             Project: Firebird Core
          Issue Type: Bug
          Components: Engine
    Affects Versions: 2.5.4
         Environment: Tested on both Windows and Linux servers
            Reporter: Jonathan Neve


Create procedures using the following SQL:

create procedure PR_TEST_CHILD
returns (
    RESULT varchar(20))
as
begin
  result = 'TEST INIT';
  suspend;
end;

create procedure PR_TEST_PARENT
returns (
    RESULT varchar(20))
as
begin
  select result from pr_test_child into :result;
  suspend;
end;

If you select from PR_TEST_PARENT, you will get 'TEST INIT', as expected.

Open a new transaction, select * from PR_TEST_PARENT, you get 'TEST INIT' 
again. Keep this second transaction open.

Now open a new transaction, and change the child procedure:

create or alter procedure PR_TEST_CHILD
returns (
    RESULT varchar(20))
as
begin
  result = 'TEST CHANGED';
  suspend;
end;

Commit this transaction, and then select again. You'll get 'TEST INIIT'.

Commit all open transactions, close all connections, open a new 
connection/transaction and select again from parent proc, and you'll still get 
'TEST INIT'.

If you do the above with only one transaction open, it all works fine, so it 
seems to be caused by altering the child procedure on the fly while other 
transactions are open and/or while the parent proc is in use in another 
transaction. A clear error message would be a lot better than this highly 
confusing behaviour.

-- 
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

        

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to