In Firebird 5.0.0.1306 ISQL, the SHOW FUNCTIONS command lists system functions in packages, while SHOW PROCEDURES correctly does not list system procedures in packages.
SHOW FUNCTIONS should be changed to exclude system functions (from RDB$BLOB_UTIL, RDB$PROFILER and RDB$TIME_ZONE_UTIL), as those should be queried with SHOW SYSTEM FUNCTIONS.
Reproduction:
create database 'e:\db\fb5\showfunc.fdb' user sysdba;
set term #;
-- including some functions and package functions for demonstration
create function dummy() returns integer as begin return 1; end#
CREATE OR ALTER PACKAGE APP_VAR
AS
BEGIN
FUNCTION GET_DATEBEGIN() RETURNS DATE DETERMINISTIC;
FUNCTION GET_DATEEND() RETURNS DATE DETERMINISTIC;
END#
set term ;#
Now, when executing SHOW FUNCTIONS, the output includes the system functions:
SQL> show functions;
DUMMY
APP_VAR.GET_DATEBEGIN
APP_VAR.GET_DATEEND
RDB$BLOB_UTIL.IS_WRITABLE
RDB$BLOB_UTIL.NEW_BLOB
RDB$BLOB_UTIL.OPEN_BLOB
RDB$BLOB_UTIL.READ_DATA
RDB$BLOB_UTIL.SEEK
RDB$PROFILER.START_SESSION
RDB$TIME_ZONE_UTIL.DATABASE_VERSION
However, the expected output should exclude the system functions, that is, it should produce:
DUMMY
APP_VAR.GET_DATEBEGIN
APP_VAR.GET_DATEEND
In Firebird 5.0.0.1306 ISQL, the
SHOW FUNCTIONScommand lists system functions in packages, whileSHOW PROCEDUREScorrectly does not list system procedures in packages.SHOW FUNCTIONSshould be changed to exclude system functions (fromRDB$BLOB_UTIL,RDB$PROFILERandRDB$TIME_ZONE_UTIL), as those should be queried withSHOW SYSTEM FUNCTIONS.Reproduction:
Now, when executing
SHOW FUNCTIONS, the output includes the system functions:However, the expected output should exclude the system functions, that is, it should produce: