/* * The contents of this file are subject to the Interbase Public * License Version 1.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy * of the License at http://www.Inprise.com/IPL.html * * Software distributed under the License is distributed on an * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express * or implied. See the License for the specific language governing * rights and limitations under the License. * * The Original Code was created by Inprise Corporation * and its predecessors. Portions created by Inprise Corporation are * Copyright (C) Inprise Corporation. * * All Rights Reserved. * Contributor(s): ______________________________________. */ /* * This file documents InterBase Version 4.0 ODS 8.1 metadata structure. * * See also ODS80.gdl for the 8.0 structure. There is specific * note of the new features in this document. * * Summary of ODS 8.1 modification: * New System indices RDB$INDEX_27 .. RDB$INDEX_38. * Modification to RDB$TRIGGER_11 * Modification to RDB$TRIGGER_16 * If an ODS 8.0 DB is upgraded to ODS 8.1, TRIGGERS 11 & 16 * are not modified and the following triggers are added. * New trigger RDB$TRIGGER_ODS81_1 * New trigger RDB$TRIGGER_ODS81_2 * * See jrd/grant.gdl for descriptions of changes to TRIGGER_11 & 16 * in ODS 8.1. * * This file was made with hacked version of GDEF -extract, which * extracted system information only. * * Sorting is as follows: * Global fields: Name * Relations: Relation ID * Indices: Created order * Generators: Created order * Triggers: Created order * * Note: Sources for system triggers are missing, but many * can be found in jrd/grant.gdl. The compiled * blr versions are in jrd/trig.h. Note that the compiled * blr has been hand-edited in a few places. * * Note: You can run this script by globally replacing "RDB$" * with "XRDB$", it will then make user relations * with the specified system structure. * * Note: In metadata, most, but not all, of these items have the * RDB$SYSTEM flag set to 1. * */ define database "v4_ods81.fdb" page_size 1024; /* Global Field Definitions */ /* Note: all sub_type 3 text fields are also CHARACTER SET Unicode_FSS */ define field RDB$ACL blob segment_length 80 sub_type ACL; define field RDB$BOUND long; define field RDB$CHARACTER_SET_ID short; define field RDB$CHARACTER_SET_NAME char [31] sub_type 3; define field RDB$COLLATION_ID short; define field RDB$COLLATION_NAME char [31] sub_type 3; define field RDB$CONSTRAINT_NAME char [31] sub_type 3; define field RDB$CONSTRAINT_TYPE char [11]; define field RDB$CONTEXT_NAME char [31] sub_type 3; define field RDB$DBKEY_LENGTH short; define field RDB$DEFERRABLE char [3]; define field RDB$DESCRIPTION blob segment_length 80 sub_type text; define field RDB$DESCRIPTOR blob segment_length 80 sub_type 6; define field RDB$DIMENSION short; define field RDB$DIMENSIONS short; define field RDB$EDIT_STRING varying [125]; define field RDB$EXCEPTION_NAME char [31] sub_type 3; define field RDB$EXCEPTION_NUMBER long; define field RDB$EXTERNAL_DESCRIPTION blob segment_length 80 sub_type 8; /* From deej@apex Mon Nov 29 15:07:52 1993 Date: Mon, 29 Nov 93 14:54:42 PST From: deej@apex (Dave Bredenberg) To: daves@apex Subject: RDB$EXTERNAL_DESCRIPTION Content-Length: 169 I believe it was just supposed to be a place to put commentary about an external relation, to be passed when opening the file. It looks like it was never used, though. */ define field RDB$EXTERNAL_NAME char [31]; define field RDB$FIELD_ID short; define field RDB$FIELD_LENGTH short; define field RDB$FIELD_NAME char [31] sub_type 3; define field RDB$FIELD_POSITION short; define field RDB$FIELD_SCALE short; define field RDB$FIELD_SUB_TYPE short; define field RDB$FIELD_TYPE short; define field RDB$FILE_FLAGS short; define field RDB$FILE_LENGTH long; define field RDB$FILE_NAME varying [253]; define field RDB$FILE_PARTITIONS short; define field RDB$FILE_P_OFFSET long; define field RDB$FILE_SEQUENCE short; define field RDB$FILE_START long; define field RDB$FORMAT short; define field RDB$FUNCTION_NAME char [31] sub_type 3; define field RDB$FUNCTION_TYPE short; define field RDB$GENERATOR_ID short; define field RDB$GENERATOR_NAME char [31] sub_type 3; define field RDB$GENERIC_NAME char [31] sub_type 3; define field RDB$GENERIC_TYPE short; define field RDB$INDEX_ID short; define field RDB$INDEX_NAME char [31] sub_type 3; define field RDB$MATCH_OPTION char [7]; define field RDB$MECHANISM short; define field RDB$MESSAGE varying [78]; define field RDB$MESSAGE_NUMBER short; define field RDB$NULL_FLAG short; define field RDB$NUMBER_OF_CHARACTERS long; define field RDB$OBJECT_TYPE short; define field RDB$PAGE_NUMBER long; define field RDB$PAGE_SEQUENCE long; define field RDB$PAGE_TYPE short; define field RDB$PARAMETER_NAME char [31] sub_type 3; define field RDB$PARAMETER_NUMBER short; define field RDB$PARAMETER_TYPE short; define field RDB$PRIVILEGE char [6]; define field RDB$PROCEDURE_BLR blob segment_length 80 sub_type BLR; define field RDB$PROCEDURE_ID short; define field RDB$PROCEDURE_NAME char [31] sub_type 3; define field RDB$PROCEDURE_PARAMETERS short; define field RDB$QUERY_HEADER blob segment_length 80 sub_type text; define field RDB$RELATION_ID short; define field RDB$RELATION_NAME char [31] sub_type 3; define field RDB$RULE char [11]; define field RDB$RUNTIME blob segment_length 80 sub_type 5; define field RDB$SECURITY_CLASS char [31] sub_type 3; define field RDB$SEGMENT_COUNT short; define field RDB$SEGMENT_LENGTH short; define field RDB$SHADOW_NUMBER short; define field RDB$SOURCE blob segment_length 80 sub_type text; define field RDB$STATISTICS double; define field RDB$SYSTEM_FLAG short; define field RDB$TIMESTAMP date; define field RDB$TRANSACTION_DESCRIPTION blob segment_length 80 sub_type 7; define field RDB$TRANSACTION_ID long; define field RDB$TRANSACTION_STATE short; define field RDB$TRIGGER_BLR blob segment_length 80 sub_type BLR; define field RDB$TRIGGER_NAME char [31] sub_type 3; define field RDB$TRIGGER_SEQUENCE short; define field RDB$TRIGGER_TYPE short; define field RDB$TYPE_NAME char [31] sub_type 3; define field RDB$USER char [31] sub_type 3; define field RDB$VALIDATION_BLR blob segment_length 80 sub_type BLR; define field RDB$VALUE blob segment_length 80 sub_type BLR; define field RDB$VIEW_BLR blob segment_length 80 sub_type BLR; define field RDB$VIEW_CONTEXT short; /* Relation Definitions */ define relation RDB$PAGES RDB$PAGE_NUMBER position 0, RDB$RELATION_ID position 1, RDB$PAGE_SEQUENCE position 2, RDB$PAGE_TYPE position 3; define relation RDB$DATABASE RDB$DESCRIPTION position 0, RDB$RELATION_ID position 1, RDB$SECURITY_CLASS position 2, RDB$CHARACTER_SET_NAME position 3; define relation RDB$FIELDS RDB$FIELD_NAME position 0, RDB$QUERY_NAME based on RDB$FIELD_NAME position 1, RDB$VALIDATION_BLR position 2, RDB$VALIDATION_SOURCE based on RDB$SOURCE position 3, RDB$COMPUTED_BLR based on RDB$VALUE position 4, RDB$COMPUTED_SOURCE based on RDB$SOURCE position 5, RDB$DEFAULT_VALUE based on RDB$VALUE position 6, RDB$DEFAULT_SOURCE based on RDB$SOURCE position 7, RDB$FIELD_LENGTH position 8, RDB$FIELD_SCALE position 9, RDB$FIELD_TYPE position 10, RDB$FIELD_SUB_TYPE position 11, RDB$MISSING_VALUE based on RDB$VALUE position 12, RDB$MISSING_SOURCE based on RDB$SOURCE position 13, RDB$DESCRIPTION position 14, RDB$SYSTEM_FLAG position 15, RDB$QUERY_HEADER position 16, RDB$SEGMENT_LENGTH position 17, RDB$EDIT_STRING position 18, RDB$EXTERNAL_LENGTH based on RDB$FIELD_LENGTH position 19, RDB$EXTERNAL_SCALE based on RDB$FIELD_SCALE position 20, RDB$EXTERNAL_TYPE based on RDB$FIELD_TYPE position 21, RDB$DIMENSIONS position 22, RDB$NULL_FLAG position 23, RDB$CHARACTER_LENGTH based on RDB$FIELD_LENGTH position 24, RDB$COLLATION_ID position 25, RDB$CHARACTER_SET_ID position 26; define relation RDB$INDEX_SEGMENTS RDB$INDEX_NAME position 0, RDB$FIELD_NAME position 1, RDB$FIELD_POSITION position 2; define relation RDB$INDICES RDB$INDEX_NAME position 0, RDB$RELATION_NAME position 1, RDB$INDEX_ID position 2, RDB$UNIQUE_FLAG based on RDB$SYSTEM_FLAG position 3, RDB$DESCRIPTION position 4, RDB$SEGMENT_COUNT position 5, RDB$INDEX_INACTIVE based on RDB$SYSTEM_FLAG position 6, RDB$INDEX_TYPE based on RDB$SYSTEM_FLAG position 7, RDB$FOREIGN_KEY based on RDB$RELATION_NAME position 8, RDB$SYSTEM_FLAG position 9, RDB$EXPRESSION_BLR based on RDB$VALUE position 10, RDB$EXPRESSION_SOURCE based on RDB$SOURCE position 11, RDB$STATISTICS position 12; define relation RDB$RELATION_FIELDS RDB$FIELD_NAME position 0, RDB$RELATION_NAME position 1, RDB$FIELD_SOURCE based on RDB$FIELD_NAME position 2, RDB$QUERY_NAME based on RDB$FIELD_NAME position 3, RDB$BASE_FIELD based on RDB$FIELD_NAME position 4, RDB$EDIT_STRING position 5, RDB$FIELD_POSITION position 6, RDB$QUERY_HEADER position 7, RDB$UPDATE_FLAG based on RDB$SYSTEM_FLAG position 8, RDB$FIELD_ID position 9, RDB$VIEW_CONTEXT position 10, RDB$DESCRIPTION position 11, RDB$DEFAULT_VALUE based on RDB$VALUE position 12, RDB$SYSTEM_FLAG position 13, RDB$SECURITY_CLASS position 14, RDB$COMPLEX_NAME based on RDB$FIELD_NAME position 15, RDB$NULL_FLAG position 16, RDB$DEFAULT_SOURCE based on RDB$SOURCE position 17, RDB$COLLATION_ID position 18; define relation RDB$RELATIONS RDB$VIEW_BLR position 0, RDB$VIEW_SOURCE based on RDB$SOURCE position 1, RDB$DESCRIPTION position 2, RDB$RELATION_ID position 3, RDB$SYSTEM_FLAG position 4, RDB$DBKEY_LENGTH position 5, RDB$FORMAT position 6, RDB$FIELD_ID position 7, RDB$RELATION_NAME position 8, RDB$SECURITY_CLASS position 9, RDB$EXTERNAL_FILE based on RDB$FILE_NAME position 10, RDB$RUNTIME position 11, RDB$EXTERNAL_DESCRIPTION position 12, RDB$OWNER_NAME based on RDB$USER position 13, RDB$DEFAULT_CLASS based on RDB$SECURITY_CLASS position 14, RDB$FLAGS based on RDB$SYSTEM_FLAG position 15; define relation RDB$VIEW_RELATIONS RDB$VIEW_NAME based on RDB$RELATION_NAME position 0, RDB$RELATION_NAME position 1, RDB$VIEW_CONTEXT position 2, RDB$CONTEXT_NAME position 3; define relation RDB$FORMATS RDB$RELATION_ID position 0, RDB$FORMAT position 1, RDB$DESCRIPTOR position 2; define relation RDB$SECURITY_CLASSES RDB$SECURITY_CLASS position 0, RDB$ACL position 1, RDB$DESCRIPTION position 2; define relation RDB$FILES RDB$FILE_NAME position 0, RDB$FILE_SEQUENCE position 1, RDB$FILE_START position 2, RDB$FILE_LENGTH position 3, RDB$FILE_FLAGS position 4, RDB$SHADOW_NUMBER position 5; define relation RDB$TYPES RDB$FIELD_NAME position 0, RDB$TYPE based on RDB$GENERIC_TYPE position 1, RDB$TYPE_NAME position 2, RDB$DESCRIPTION position 3, RDB$SYSTEM_FLAG position 4; define relation RDB$TRIGGERS RDB$TRIGGER_NAME position 0, RDB$RELATION_NAME position 1, RDB$TRIGGER_SEQUENCE position 2, RDB$TRIGGER_TYPE position 3, RDB$TRIGGER_SOURCE based on RDB$SOURCE position 4, RDB$TRIGGER_BLR position 5, RDB$DESCRIPTION position 6, RDB$TRIGGER_INACTIVE based on RDB$SYSTEM_FLAG position 7, RDB$SYSTEM_FLAG position 8, RDB$FLAGS based on RDB$SYSTEM_FLAG position 9; define relation RDB$DEPENDENCIES RDB$DEPENDENT_NAME based on RDB$GENERIC_NAME position 0, RDB$DEPENDED_ON_NAME based on RDB$GENERIC_NAME position 1, RDB$FIELD_NAME position 2, RDB$DEPENDENT_TYPE based on RDB$OBJECT_TYPE position 3, RDB$DEPENDED_ON_TYPE based on RDB$OBJECT_TYPE position 4; define relation RDB$FUNCTIONS RDB$FUNCTION_NAME position 0, RDB$FUNCTION_TYPE position 1, RDB$QUERY_NAME based on RDB$FIELD_NAME position 2, RDB$DESCRIPTION position 3, RDB$MODULE_NAME based on RDB$FILE_NAME position 4, RDB$ENTRYPOINT based on RDB$EXTERNAL_NAME position 5, RDB$RETURN_ARGUMENT based on RDB$FIELD_POSITION position 6, RDB$SYSTEM_FLAG position 7; define relation RDB$FUNCTION_ARGUMENTS RDB$FUNCTION_NAME position 0, RDB$ARGUMENT_POSITION based on RDB$FIELD_POSITION position 1, RDB$MECHANISM position 2, RDB$FIELD_TYPE position 3, RDB$FIELD_SCALE position 4, RDB$FIELD_LENGTH position 5, RDB$FIELD_SUB_TYPE position 6, RDB$CHARACTER_SET_ID position 7; define relation RDB$FILTERS RDB$FUNCTION_NAME position 0, RDB$DESCRIPTION position 1, RDB$MODULE_NAME based on RDB$FILE_NAME position 2, RDB$ENTRYPOINT based on RDB$EXTERNAL_NAME position 3, RDB$INPUT_SUB_TYPE based on RDB$FIELD_SUB_TYPE position 4, RDB$OUTPUT_SUB_TYPE based on RDB$FIELD_SUB_TYPE position 5, RDB$SYSTEM_FLAG position 6; define relation RDB$TRIGGER_MESSAGES RDB$TRIGGER_NAME position 0, RDB$MESSAGE_NUMBER position 1, RDB$MESSAGE position 2; define relation RDB$USER_PRIVILEGES RDB$USER position 0, RDB$GRANTOR based on RDB$USER position 1, RDB$PRIVILEGE position 2, RDB$GRANT_OPTION based on RDB$SYSTEM_FLAG position 3, RDB$RELATION_NAME based on RDB$GENERIC_NAME position 4, RDB$FIELD_NAME position 5, RDB$USER_TYPE based on RDB$OBJECT_TYPE position 6, RDB$OBJECT_TYPE position 7; define relation RDB$TRANSACTIONS RDB$TRANSACTION_ID position 0, RDB$TRANSACTION_STATE position 1, RDB$TIMESTAMP position 2, RDB$TRANSACTION_DESCRIPTION position 3; define relation RDB$GENERATORS RDB$GENERATOR_NAME position 0, RDB$GENERATOR_ID position 1, RDB$SYSTEM_FLAG position 2; define relation RDB$FIELD_DIMENSIONS RDB$FIELD_NAME position 0, RDB$DIMENSION position 1, RDB$LOWER_BOUND based on RDB$BOUND position 2, RDB$UPPER_BOUND based on RDB$BOUND position 3; define relation RDB$RELATION_CONSTRAINTS RDB$CONSTRAINT_NAME position 0, RDB$CONSTRAINT_TYPE position 1, RDB$RELATION_NAME position 2, RDB$DEFERRABLE position 3, RDB$INITIALLY_DEFERRED based on RDB$DEFERRABLE position 4, RDB$INDEX_NAME position 5; define relation RDB$REF_CONSTRAINTS RDB$CONSTRAINT_NAME position 0, RDB$CONST_NAME_UQ based on RDB$CONSTRAINT_NAME position 1, RDB$MATCH_OPTION position 2, RDB$UPDATE_RULE based on RDB$RULE position 3, RDB$DELETE_RULE based on RDB$RULE position 4; define relation RDB$CHECK_CONSTRAINTS RDB$CONSTRAINT_NAME position 0, RDB$TRIGGER_NAME position 1; define relation RDB$LOG_FILES RDB$FILE_NAME position 0, RDB$FILE_SEQUENCE position 1, RDB$FILE_LENGTH position 2, RDB$FILE_PARTITIONS position 3, RDB$FILE_P_OFFSET position 4, RDB$FILE_FLAGS position 5; define relation RDB$PROCEDURES RDB$PROCEDURE_NAME position 0, RDB$PROCEDURE_ID position 1, RDB$PROCEDURE_INPUTS based on RDB$PROCEDURE_PARAMETERS position 2, RDB$PROCEDURE_OUTPUTS based on RDB$PROCEDURE_PARAMETERS position 3, RDB$DESCRIPTION position 4, RDB$PROCEDURE_SOURCE based on RDB$SOURCE position 5, RDB$PROCEDURE_BLR position 6, RDB$SECURITY_CLASS position 7, RDB$OWNER_NAME based on RDB$USER position 8, RDB$RUNTIME position 9, RDB$SYSTEM_FLAG position 10; define relation RDB$PROCEDURE_PARAMETERS RDB$PARAMETER_NAME position 0, RDB$PROCEDURE_NAME position 1, RDB$PARAMETER_NUMBER position 2, RDB$PARAMETER_TYPE position 3, RDB$FIELD_SOURCE based on RDB$FIELD_NAME position 4, RDB$DESCRIPTION position 5, RDB$SYSTEM_FLAG position 6; define relation RDB$CHARACTER_SETS RDB$CHARACTER_SET_NAME position 0, RDB$FORM_OF_USE based on RDB$GENERIC_NAME position 1, RDB$NUMBER_OF_CHARACTERS position 2, RDB$DEFAULT_COLLATE_NAME based on RDB$COLLATION_NAME position 3, RDB$CHARACTER_SET_ID position 4, RDB$SYSTEM_FLAG position 5, RDB$DESCRIPTION position 6, RDB$FUNCTION_NAME position 7, RDB$BYTES_PER_CHARACTER based on RDB$FIELD_LENGTH position 8; define relation RDB$COLLATIONS RDB$COLLATION_NAME position 0, RDB$COLLATION_ID position 1, RDB$CHARACTER_SET_ID position 2, RDB$COLLATION_ATTRIBUTES based on RDB$GENERIC_TYPE position 3, RDB$SYSTEM_FLAG position 4, RDB$DESCRIPTION position 5, RDB$FUNCTION_NAME position 6; define relation RDB$EXCEPTIONS RDB$EXCEPTION_NAME position 0, RDB$EXCEPTION_NUMBER position 1, RDB$MESSAGE position 2, RDB$DESCRIPTION position 3, RDB$SYSTEM_FLAG position 4; define relation RDB$ROLES RDB$ROLE_NAME based on RDB$USER position 0, RDB$OWNER_NAME based on RDB$USER position 1; /* Index Definitions */ define index RDB$INDEX_0 for RDB$RELATIONS unique RDB$RELATION_NAME; define index RDB$INDEX_1 for RDB$RELATIONS RDB$RELATION_ID; define index RDB$INDEX_2 for RDB$FIELDS unique RDB$FIELD_NAME; define index RDB$INDEX_3 for RDB$RELATION_FIELDS RDB$FIELD_SOURCE; define index RDB$INDEX_4 for RDB$RELATION_FIELDS RDB$RELATION_NAME; define index RDB$INDEX_5 for RDB$INDICES unique RDB$INDEX_NAME; define index RDB$INDEX_6 for RDB$INDEX_SEGMENTS RDB$INDEX_NAME; define index RDB$INDEX_7 for RDB$SECURITY_CLASSES unique RDB$SECURITY_CLASS; define index RDB$INDEX_8 for RDB$TRIGGERS unique RDB$TRIGGER_NAME; define index RDB$INDEX_9 for RDB$FUNCTIONS unique RDB$FUNCTION_NAME; define index RDB$INDEX_10 for RDB$FUNCTION_ARGUMENTS RDB$FUNCTION_NAME; define index RDB$INDEX_11 for RDB$GENERATORS unique RDB$GENERATOR_NAME; define index RDB$INDEX_12 for RDB$RELATION_CONSTRAINTS unique RDB$CONSTRAINT_NAME; define index RDB$INDEX_13 for RDB$REF_CONSTRAINTS unique RDB$CONSTRAINT_NAME; define index RDB$INDEX_14 for RDB$CHECK_CONSTRAINTS RDB$CONSTRAINT_NAME; define index RDB$INDEX_15 for RDB$RELATION_FIELDS unique RDB$FIELD_NAME, RDB$RELATION_NAME; define index RDB$INDEX_16 for RDB$FORMATS RDB$RELATION_ID, RDB$FORMAT; define index RDB$INDEX_17 for RDB$FILTERS RDB$INPUT_SUB_TYPE, RDB$OUTPUT_SUB_TYPE; define index RDB$INDEX_18 for RDB$PROCEDURE_PARAMETERS unique RDB$PROCEDURE_NAME, RDB$PARAMETER_NAME; define index RDB$INDEX_19 for RDB$CHARACTER_SETS unique RDB$CHARACTER_SET_NAME; define index RDB$INDEX_20 for RDB$COLLATIONS unique RDB$COLLATION_NAME; define index RDB$INDEX_21 for RDB$PROCEDURES unique RDB$PROCEDURE_NAME; define index RDB$INDEX_22 for RDB$PROCEDURES RDB$PROCEDURE_ID; define index RDB$INDEX_23 for RDB$EXCEPTIONS unique RDB$EXCEPTION_NAME; define index RDB$INDEX_24 for RDB$EXCEPTIONS RDB$EXCEPTION_NUMBER; define index RDB$INDEX_25 for RDB$CHARACTER_SETS unique RDB$CHARACTER_SET_ID; define index RDB$INDEX_26 for RDB$COLLATIONS unique RDB$COLLATION_ID, RDB$CHARACTER_SET_ID; /* Indices 27 .. 38 are new in ODS 8.1 */ define index RDB$INDEX_27 for RDB$DEPENDENCIES RDB$DEPENDENT_NAME; define index RDB$INDEX_28 for RDB$DEPENDENCIES RDB$DEPENDED_ON_NAME; define index RDB$INDEX_29 for RDB$USER_PRIVILEGES RDB$RELATION_NAME; define index RDB$INDEX_30 for RDB$USER_PRIVILEGES RDB$USER; define index RDB$INDEX_31 for RDB$INDICES RDB$RELATION_NAME; define index RDB$INDEX_32 for RDB$TRANSACTIONS unique RDB$TRANSACTION_ID; define index RDB$INDEX_33 for RDB$VIEW_RELATIONS RDB$VIEW_NAME; define index RDB$INDEX_34 for RDB$VIEW_RELATIONS RDB$RELATION_NAME; define index RDB$INDEX_35 for RDB$TRIGGER_MESSAGES RDB$TRIGGER_NAME; define index RDB$INDEX_36 for RDB$FIELD_DIMENSIONS RDB$FIELD_NAME; define index RDB$INDEX_37 for RDB$TYPES RDB$TYPE_NAME; define index RDB$INDEX_38 for RDB$TRIGGERS RDB$RELATION_NAME; /* Generator Definitions */ define generator RDB$SECURITY_CLASS; define generator SQL$DEFAULT; define generator RDB$PROCEDURES; define generator RDB$EXCEPTIONS; define generator RDB$CONSTRAINT_NAME; define generator RDB$FIELD_NAME; define generator RDB$INDEX_NAME; define generator RDB$TRIGGER_NAME; /* Trigger Definitions */ define trigger RDB$TRIGGER_1 for RDB$USER_PRIVILEGES pre modify 0: end_trigger message 0: 'existing_priv_mod '; define trigger RDB$TRIGGER_8 for RDB$USER_PRIVILEGES pre erase 0: end_trigger; define trigger RDB$TRIGGER_9 for RDB$USER_PRIVILEGES pre store 0: end_trigger message 0: 'grant_obj_notfound ', message 1: 'grant_fld_notfound ', message 2: 'grant_nopriv ', message 3: 'nonsql_security_rel ', message 4: 'nonsql_security_fld ', message 5: 'grant_nopriv_on_base '; define trigger RDB$TRIGGER_2 for RDB$TRIGGERS pre modify 0: end_trigger message 0: 'systrig_update '; define trigger RDB$TRIGGER_3 for RDB$TRIGGERS pre erase 0: end_trigger message 0: 'systrig_update '; define trigger RDB$TRIGGER_4 for RDB$RELATIONS pre store 0: end_trigger; define trigger RDB$TRIGGER_5 for RDB$RELATIONS pre modify 0: end_trigger message 0: 'not_rel_owner '; define trigger RDB$TRIGGER_6 for RDB$GENERATORS pre store 0: end_trigger; define trigger RDB$TRIGGER_26 for RDB$RELATION_CONSTRAINTS pre store 0: end_trigger message 1: 'constaint_on_view ', message 2: 'invld_cnstrnt_type ', message 3: 'primary_key_exists '; define trigger RDB$TRIGGER_25 for RDB$RELATION_CONSTRAINTS pre modify 0: end_trigger message 1: 'rel_cnstrnt_update '; define trigger RDB$TRIGGER_10 for RDB$RELATION_CONSTRAINTS pre erase 0: end_trigger message 1: 'primary_key_ref ', message 2: 'primary_key_notnull '; /* RDB$TRIGGER_11 has been modified for newly created ODS 8.1 databases * It now includes support for removing CASCADE RI options. * For an ODS 8.0 DB upgraded to 8.1, RDB$TRIGGER_11 is not modified. * A new trigger RDB$TRIGGER_ODS81_1, is created to perform the operation. */ define trigger RDB$TRIGGER_11 for RDB$RELATION_CONSTRAINTS post erase 0: end_trigger; define trigger RDB$TRIGGER_12 for RDB$REF_CONSTRAINTS pre store 0: end_trigger message 1: 'ref_cnstrnt_notfound ', message 2: 'foreign_key_notfound '; define trigger RDB$TRIGGER_13 for RDB$REF_CONSTRAINTS pre modify 0: end_trigger message 1: 'ref_cnstrnt_update '; define trigger RDB$TRIGGER_14 for RDB$CHECK_CONSTRAINTS pre modify 0: end_trigger message 1: 'check_cnstrnt_update '; define trigger RDB$TRIGGER_15 for RDB$CHECK_CONSTRAINTS pre erase 0: end_trigger message 1: 'check_cnstrnt_del '; /* RDB$TRIGGER_16 has been modified for newly created ODS 8.1 databases * It now includes support for removing CASCADE RI options. * For an ODS 8.0 DB upgraded to 8.1, RDB$TRIGGER_16 is not modified. * A new trigger, RDB$TRIGGER_ODS81_2, is created to perform the operation. */ define trigger RDB$TRIGGER_16 for RDB$CHECK_CONSTRAINTS post erase 0: end_trigger; define trigger RDB$TRIGGER_17 for RDB$INDEX_SEGMENTS pre erase 0: end_trigger message 1: 'integ_index_seg_del '; define trigger RDB$TRIGGER_18 for RDB$INDEX_SEGMENTS pre modify 0: end_trigger message 1: 'integ_index_seg_mod '; define trigger RDB$TRIGGER_19 for RDB$INDICES pre erase 0: end_trigger message 1: 'integ_index_del '; define trigger RDB$TRIGGER_20 for RDB$INDICES pre modify 0: end_trigger message 1: 'integ_index_mod ', message 2: 'integ_index_deactivate ', message 3: 'integ_deactivate_primary '; define trigger RDB$TRIGGER_21 for RDB$TRIGGERS pre erase 0: end_trigger message 1: 'check_trig_del '; define trigger RDB$TRIGGER_22 for RDB$TRIGGERS pre modify 0: end_trigger message 1: 'check_trig_update '; define trigger RDB$TRIGGER_23 for RDB$RELATION_FIELDS pre erase 0: end_trigger message 1: 'cnstrnt_fld_del '; define trigger RDB$TRIGGER_24 for RDB$RELATION_FIELDS pre modify 0: end_trigger message 1: 'cnstrnt_fld_rename '; define trigger RDB$TRIGGER_27 for RDB$RELATION_FIELDS post erase 0: end_trigger; define trigger RDB$TRIGGER_28 for RDB$PROCEDURES pre store 0: end_trigger; define trigger RDB$TRIGGER_29 for RDB$PROCEDURES pre modify 0: end_trigger; define trigger RDB$TRIGGER_30 for RDB$EXCEPTIONS pre store 0: end_trigger; /* Triggers RDB$TRIGGER_ODS81_1 (& _2) are present in an ODS 8.0 DB that is * upgraded to ODS 8.1. They are not present in an newly created * ODS 8.1 database. The function performed by these triggers * is embedded in RDB$TRIGGER_11 and RDB$TRIGGER_16 (respectively) * for a newly created ODS 8.1 db. */ define trigger RDB$TRIGGER_ODS81_1 for RDB$RELATION_CONSTRAINTS post erase 0: end_trigger; define trigger RDB$TRIGGER_ODS81_2 for RDB$CHECK_CONSTRAINTS post erase 0: end_trigger;