Skip to content

Some orphan records left at RDB$SECURITY_CLASSES and RDB$USER_PRIVILEGES after DROP PROCEDURE\FUNCTION #6866

@hvlad

Description

@hvlad

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions