Firebird Documentation IndexFirebird 2.5 Language Ref. UpdateContext variables → GDSCODE
Firebird Home Firebird Home Prev: DELETINGFirebird Documentation IndexUp: Context variablesNext: INSERTING

GDSCODE

Available in: PSQL

Added in: 1.5

Changed in: 2.0

Description: In a “WHEN ... DO” error handling block, the GDSCODE context variable contains the numerical representation of the current Firebird error code. Prior to Firebird 2.0, GDSCODE was only set in WHEN GDSCODE handlers. Now it may also be non-zero in WHEN ANY, WHEN SQLCODE and WHEN EXCEPTION blocks, provided that the condition raising the error corresponds with a Firebird error code. Outside error handlers, GDSCODE is always 0. Outside PSQL it doesn't exist at all.

Type: INTEGER

Example: 

when gdscode grant_obj_notfound, gdscode grant_fld_notfound,
     gdscode grant_nopriv, gdscode grant_nopriv_on_base
do
begin
  execute procedure log_grant_error(gdscode);
  exit;
end

Please notice: After WHEN GDSCODE, you must use symbolic names like grant_obj_notfound etc. But the GDSCODE context variable is an INTEGER. If you want to compare it against a certain error, you have to use the numeric value, e.g. 335544551 for grant_obj_notfound.

Prev: DELETINGFirebird Documentation IndexUp: Context variablesNext: INSERTING
Firebird Documentation IndexFirebird 2.5 Language Ref. UpdateContext variables → GDSCODE