Firebird 2.5 Language ReferenceFirebird 2.5 Language ReferenceMonitoring Tables → MON$ATTACHMENTS
Firebird Firebird Prev: Monitoring TablesFirebird 2.5 Language ReferenceUp: Monitoring TablesNext: MON$CALL_STACK

MON$ATTACHMENTS

Table of Contents

Using MON$ATTACHMENTS to Kill a Connection

MON$ATTACHMENTS displays information about active attachments to the database.

Column Name Data Type Description
MON$ATTACHMENT_ID INTEGER Connection identifier
MON$SERVER_PID INTEGER Server process identifier
MON$STATE SMALLINT Connection state:
0 - idle
1 - active
MON$ATTACHMENT_NAME VARCHAR(255) Connection string—the file name and full path to the primary database file
MON$USER CHAR(31) The name of the user who is using this connection
MON$ROLE CHAR(31) The role name specified when the connection was established. If no role was specified when the connection was established, the field contains the text NONE
MON$REMOTE_PROTOCOL VARCHAR(10) Remote protocol name
MON$REMOTE_ADDRESS VARCHAR(255) Remote address (address and server name)
MON$REMOTE_PID INTEGER Remote client process identifier
MON$CHARACTER_SET_ID SMALLINT Connection character set identifier (see RDB$CHARACTER_SET in system table RDB$TYPES)
MON$TIMESTAMP TIMESTAMP The date and time when the connection was started
MON$GARBAGE_COLLECTION SMALLINT Garbage collection flag (as specified in the attachment's DPB): 1=allowed, 0=not allowed
MON$REMOTE_PROCESS VARCHAR(255) The full file name and path to the executable file that established this connection
MON$STAT_ID INTEGER Statistics identifier

Using MON$ATTACHMENTS to Kill a Connection

Monitoring tables are read-only. However, the server has a built-in mechanism for deleting (and only deleting) records in the MON$ATTACHMENTS table, which makes it possible to close a connection to the database.

[Note] Notes
  • All the current activity in the connection being deleted is immediately stopped and all active transactions are rolled back
  • The closed connection will return an error with the isc_att_shutdown code to the application
  • Later attempts to use this connection (i.e., use its handle in API calls) will return errors

Example:  Closing all connections except for your own (current):

  DELETE FROM MON$ATTACHMENTS
    WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION
          

Prev: Monitoring TablesFirebird 2.5 Language ReferenceUp: Monitoring TablesNext: MON$CALL_STACK
Firebird 2.5 Language ReferenceFirebird 2.5 Language ReferenceMonitoring Tables → MON$ATTACHMENTS