As Firebird/InterBase® internally does not understand SQL, all statements (queries, updates, metadata manipulation) are internally represented in a binary notation. When stored procedure or trigger code is compiled, it is translated into BLR and the BLR representation is kept in a Blob subtype field. This translation is performed only once, which is why stored procedures are good for efficiency. The command-line tool isql shows the BLR representation of stored procedures (and triggers, constraints and table definitions) after issuing a SET BLOB ALL command and then using a SELECT statement to get the appropriate BLR fields from the system tables which are accessed as RDB$RELATIONS.