Firebird 2.5 Language Reference → Firebird 2.5 Language Reference → Monitoring Tables → MON$CALL_STACK |
MON$CALL_STACK displays calls to the stack from queries executing in stored procedures and triggers.
Column Name | Data Type | Description | ||
---|---|---|---|---|
MON$CALL_ID | INTEGER | Call identifier | ||
MON$STATEMENT_ID | INTEGER | The identifier of the top-level SQL statement, the one that initiated the chain of calls. Use this identifier to find the records about the active statement in the MON$STATEMENTS table | ||
MON$CALLER_ID | INTEGER | The identifier of the calling trigger or stored procedure | ||
MON$OBJECT_NAME | CHAR(31) | PSQL object (module) name | ||
MON$OBJECT_TYPE | SMALLINT | PSQL object type (trigger or stored procedure):
|
||
MON$TIMESTAMP | TIMESTAMP | The date and time when the call was started | ||
MON$SOURCE_LINE | INTEGER | The number of the source line in the SQL statement being executed at the moment of the snapshot | ||
MON$SOURCE_COLUMN | INTEGER | The number of the source column in the SQL statement being executed at the moment of the snapshot | ||
MON$STAT_ID | INTEGER | Statistics identifier |
EXECUTE STATEMENT Calls: Information about calls during the execution of the EXECUTE STATEMENT statement does not get into the call stack.
Example using MON$CALL_STACK: Getting the call stack for all connections except own:
WITH RECURSIVE HEAD AS ( SELECT CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID, CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE FROM MON$CALL_STACK CALL WHERE CALL.MON$CALLER_ID IS NULL UNION ALL SELECT CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID, CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE FROM MON$CALL_STACK CALL JOIN HEAD ON CALL.MON$CALLER_ID = HEAD.MON$CALL_ID ) SELECT MON$ATTACHMENT_ID, MON$OBJECT_NAME, MON$OBJECT_TYPE FROM HEAD JOIN MON$STATEMENTS STMT ON STMT.MON$STATEMENT_ID = HEAD.MON$STATEMENT_ID WHERE STMT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION
Firebird 2.5 Language Reference → Firebird 2.5 Language Reference → Monitoring Tables → MON$CALL_STACK |