RDB$SUBSCRIPTIONS

From InterBase

Go Up to System Tables


Subscription information is stored in a new system relation RDB$SUBSCRIPTIONS with a unique key on RDB$SUBSCRIPTION_NAME, RDB$SUBSCRIBER_NAME, RDB$DESTINATION. Additional fields store control information to facilitate "check in" and "check out" of changed data.

This includes transaction IDs, timestamps and transactional context of last observation of changed data on the schema object. The term "check out" denotes SELECT of changed columns of rows from subscribed tables when a subscritpion has been activated. The term "check in" refers to INSERT, UPDATE and DELETE of changed columns of rows from subscribed tables when a subscription has been activated. A subscription becomes activated during a database session with the execution of OPEN SUBSCRIPTION. It is deactivated with the execution of CLOSED SUBSCRIPTION.

RDB$SUBSCRIPTION

Column name Data type Length Description

RDB$SUBSCRIPTION_NAME

CHAR

67

Name of subscription

RDB$RELATION_NAME

CHAR

67

Name of relation or view

RDB$FIELD_NAME

CHAR

67

Name of field

RDB$DESCRIPTION

BLOB

Subtype text: User-written description of subscription

RDB$SECURITY CLASS

CHAR

67

Security class of the subscription (the owner for SQL security purposes)

RDB$OWNER_NAME

CHAR

67

User who created the subscription

RDB$RUNTIME

BLOB

Runtime binary information to enhance performance

RDB$FLAGS

SMALLINT

2

RDB$INSERT

BOOLEAN

2

Inserts are tracked

RDB$UPDATE

BOOLEAN

2

Updates are tracked

RDB$DELETE

BOOLEAN

2

Deletes are tracked

RDB$CHANGE

BOOLEAN

2

Tracks all operations, but returns as soon as any column changes