Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Message "Modifying function <F> which is currently in use" when running script with AUTODDL=OFF and <F> is called from INTERNAL function declared in other unit [CORE4472] #4792

Closed
firebird-automations opened this issue Jun 25, 2014 · 4 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @pavel-zotov

The following script will cause appearing message "Modifying function <FN_01> which is currently in use by active user requests" in firebird.log in case when <FN_01> is called from some INTERNAL function inside another unit (procedure `sp_01` in sample beneath):

set autoddl off;
commit;
set term ^;
create or alter function fn_01() returns int -- <<<<<<<<< this function will be CALLED from another
as begin
return 1;
end
^

create or alter procedure sp_01
as
declare function fn_internal_01 returns int as -- <<< ::: NB ::: this is INTERNAL function which CALLS `fn_01`
begin
if ( fn_01() > 0 ) then return 1;
else return 0;
end
begin
end
^
set term ;^
commit;

Every run of this script (in single connect, of course) will cause adding of new message in firebird.log:

oel64 Wed Jun 25 14:26:27 2014
Modifying function FN_01 which is currently in use by active user requests

oel64 Wed Jun 25 14:26:29 2014
Modifying function FN_01 which is currently in use by active user requests
. . .

PS-1. No such message was in FB builds before 09.06.2014.
PS-2. No such message appear if function FN_01 is called from "common" (top-level) SP or function:

set autoddl off;
commit;
set term ^;
create or alter function fn_01() returns int
as begin
return 1;
end
^

create or alter function fn_02() returns int
as begin
return fn_01();
end
^

create or alter procedure sp_01
as
declare x int;
begin
x=fn_01();
end
^
set term ;^
commit;

-- this works OK.

Commits: 3d44e7d FirebirdSQL/fbt-repository@b3505e8

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Regression: 3.0 Alpha 2 [ 10560 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Beta 2 [ 10586 ]

assignee: Dmitry Yemanov [ dimitr ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: Done successfully

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants