Test case, run with fb4:
CREATE DATABASE '...';
SELECT COUNT(*) FROM RDB$SECURITY_CLASSES
UNION ALL
SELECT COUNT(*) FROM RDB$USER_PRIVILEGES;
COUNT
================
505
723
COMMIT;
SET TERM ^;
CREATE PROCEDURE PROC(I1 INT, I2 INT) RETURNS (O1 INT)
AS
BEGIN
EXIT;
END^
CREATE FUNCTION FUNC(I1 INT) RETURNS INT
AS
BEGIN
EXIT;
END^
SET TERM ;^
COMMIT;
SELECT COUNT(*) FROM RDB$SECURITY_CLASSES
UNION ALL
SELECT COUNT(*) FROM RDB$USER_PRIVILEGES;
COUNT
================
512
730
DROP PROCEDURE PROC;
DROP FUNCTION FUNC;
COMMIT;
SELECT COUNT(*) FROM RDB$SECURITY_CLASSES
UNION ALL
SELECT COUNT(*) FROM RDB$USER_PRIVILEGES;
COUNT
================
510
728
Note :
- CREATE statements inserts 7 records into RDB$SECURITY_CLASSES and 7 records into RDB$USER_PRIVILEGES,
- DROP statements deletes 2 records from each of the tables above and 5 records was left.
ALTER statements also affected, just replace DROP by ALTER in the script above.
Test case, run with fb4:
Note :
ALTER statements also affected, just replace DROP by ALTER in the script above.