The RDB$PRIVILEGES system table describes the protection for
the database objects. There is one row per grantor, grantee, and
privileges combination per entity in the database.
A row is stored in the RDB$PRIVILEGES table for each user who
grants another user privileges for a database object.
If the privilege for a database object was granted without the
SQL GRANT option, the row of the grantor and grantee is modified.
The privilege change takes effect at commit time of the command.
NOTE
The RDB$PRIVILEGES system table is used only in ANSI
databases.
The following table provides information on the columns of the
RDB$PRIVILEGES system table.
Data
Column Name Type Summary Description
RDB$SUBOBJECT_ID integer The id of the column
or routine for which
protection is defined.
If protection is on a
database, module, table,
or view, this field is
NULL. The value stored in
this column must be unique
within the database.
RDB$OBJECT_ID integer The id of the module,
table, sequence, or view
for which protection is
defined. The column is
NULL if the protection is
defined for the database.
The value stored in this
column must be unique
within the database.
RDB$GRANTOR integer The binary format UIC of
the person who defined or
changed the privileges.
This is usually the UIC of
the person who executed the
protection command.
For an SQL IMPORT
statement, the UIC is
that of the person who
originally defined the
protection for the user;
not necessarily the person
who performed the SQL
IMPORT statement.
RDB$GRANTEE list The binary format of the
of byte UICs of the persons who
varying hold privileges on the
database object.
RDB$PRIV_GRANT integer Specifies the access mask
of privileges that the
grantee has that he can
grant to other users.
RDB$PRIV_NOGRANT integer Specifies the access mask
of privileges that the
grantee has that he can use
himself but cannot give to
other users.
RDB$FLAGS integer Flags.
RDB$SECURITY_CLASS char(20) Reserved for future use.
Additional Information:
explode
extract