FirebirdSQL logo

RDB$RELATIONS

RDB$RELATIONS stores the top-level definitions and attributes of all tables and views in the system.

Column Name Data Type Description

RDB$VIEW_BLR

BLOB BLR

The binary language representation (BLR) of the query specification of a view.The field stores NULL for a table

RDB$VIEW_SOURCE

BLOB TEXT

Contains the original source text of the query for a view, in SQL language.User comments are included.The field stores NULL for a table

RDB$DESCRIPTION

BLOB TEXT

Could store comments related to the table or view

RDB$RELATION_ID

SMALLINT

Internal identifier of the table or view

RDB$SYSTEM_FLAG

SMALLINT

indicates whether the table or view is user-defined (value 0) or system-defined (value 1 or greater)

RDB$DBKEY_LENGTH

SMALLINT

The total length of the database key.For a table: 8 bytes.For a view, the length is 8 multiplied by the number of tables referenced by the view

RDB$FORMAT

SMALLINT

Internal use, points to the relation’s record in RDB$FORMATS — do not modify

RDB$FIELD_ID

SMALLINT

The field ID for the next column to be added.The number is not decremented when a column is dropped.

RDB$RELATION_NAME

CHAR(63)

Table or view name

RDB$SECURITY_CLASS

CHAR(63)

May reference a security class defined in the table RDB$SECURITY_CLASSES, to apply access control limits to all users of this table or view

RDB$EXTERNAL_FILE

VARCHAR(255)

The full path to the external data file if the table is defined with the EXTERNAL FILE clause

RDB$RUNTIME

BLOB

Table metadata description, used internally for optimization

RDB$EXTERNAL_DESCRIPTION

BLOB

Could store comments related to the external file of an external table

RDB$OWNER_NAME

CHAR(63)

The username of the user who created the table or view originally

RDB$DEFAULT_CLASS

CHAR(63)

Default security class, used when a new column is added to the table

RDB$FLAGS

SMALLINT

Internal flags

RDB$RELATION_TYPE

SMALLINT

The type of the relation object being described:

0 - system or user-defined table
1 - view
2 - external table
3 - monitoring table
4 - connection-level GTT (PRESERVE ROWS)
5 - transaction-level GTT (DELETE ROWS)

RDB$SQL_SECURITY

BOOLEAN

The SQL SECURITY mode (DEFINER or INVOKER):

NULL - initial default (INVOKER)
FALSE - INVOKER
TRUE - DEFINER

RDB$RELATION_CONSTRAINTS

RDB$RELATION_CONSTRAINTS stores the definitions of all table-level constraints: primary, unique, foreign key, CHECK, NOT NULL constraints.

Column Name Data Type Description

RDB$CONSTRAINT_NAME

CHAR(63)

The name of the table-level constraint defined by the user, or otherwise automatically generated by the system

RDB$CONSTRAINT_TYPE

CHAR(11)

The name of the constraint type: PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK or NOT NULL

RDB$RELATION_NAME

CHAR(63)

The name of the table this constraint applies to

RDB$DEFERRABLE

CHAR(3)

Currently NO in all cases: Firebird does not yet support deferrable constraints

RDB$INITIALLY_DEFERRED

CHAR(3)

Currently NO in all cases

RDB$INDEX_NAME

CHAR(63)

The name of the index that supports this constraint.For a CHECK or a NOT NULL constraint, it is NULL.