mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 20:43:04 +01:00
823 lines
26 KiB
Plaintext
823 lines
26 KiB
Plaintext
/*
|
|
* 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 5.5, ODS 9.1 metadata structure.
|
|
*
|
|
* See also ODS80.gdl, ODS81.gdl for respective ODS structures. There is
|
|
* specific note of the new features in this document.
|
|
*
|
|
* Summary of ODS 9.1 modification:
|
|
* New System index RDB$INDEX_40
|
|
*
|
|
* If an ODS 9.0 DB is upgraded to ODS 9.1, INDEX RDB$INDEX_40 is created.
|
|
*
|
|
* See jrd/idx.h for description of RDB$INDEX_40 in ODS 9.1
|
|
*
|
|
* This file was made with hacked version of GDEF -extract, which
|
|
* extracted system information only.
|
|
* This was done by substituting all checks (DUDLEY/extract.e) for
|
|
* (SYSTEM_FLAG NE 1) with (SYSTEM_FLAG EQ 1)
|
|
* This enabled GDEF to extract only system metadata.
|
|
*
|
|
* Sorting is as follows:
|
|
* Global fields: Name
|
|
* Relations: Name
|
|
* Indices: (RELATION_NAME, INDEX_NAME)
|
|
* Security Classes: Relation created order
|
|
* Generators: Name
|
|
* Triggers: Name
|
|
*
|
|
* 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$", and "SQL$" with "XSQL$"
|
|
* it will then make user relations with the specified system structure.
|
|
* # gdef -r ods91.gdl
|
|
*
|
|
* Note: In metadata, most, but not all, of these items have the
|
|
* RDB$SYSTEM flag set to 1.
|
|
*
|
|
*/
|
|
|
|
define database "ods_91.fdb"
|
|
page_size 1024;
|
|
|
|
|
|
/* Global Field Definitions */
|
|
|
|
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;
|
|
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$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$CHECK_CONSTRAINTS
|
|
RDB$CONSTRAINT_NAME position 0,
|
|
RDB$TRIGGER_NAME position 1;
|
|
|
|
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$DATABASE
|
|
RDB$DESCRIPTION position 0,
|
|
RDB$RELATION_ID position 1,
|
|
RDB$SECURITY_CLASS position 2,
|
|
RDB$CHARACTER_SET_NAME position 3;
|
|
|
|
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$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$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$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$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$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$FORMATS
|
|
RDB$RELATION_ID position 0,
|
|
RDB$FORMAT position 1,
|
|
RDB$DESCRIPTOR position 2;
|
|
|
|
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$GENERATORS
|
|
RDB$GENERATOR_NAME position 0,
|
|
RDB$GENERATOR_ID position 1,
|
|
RDB$SYSTEM_FLAG position 2;
|
|
|
|
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$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$PAGES
|
|
RDB$PAGE_NUMBER position 0,
|
|
RDB$RELATION_ID position 1,
|
|
RDB$PAGE_SEQUENCE position 2,
|
|
RDB$PAGE_TYPE position 3;
|
|
|
|
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$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$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$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$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$ROLES
|
|
RDB$ROLE_NAME based on RDB$USER position 0,
|
|
RDB$OWNER_NAME based on RDB$USER position 1;
|
|
|
|
define relation RDB$SECURITY_CLASSES
|
|
RDB$SECURITY_CLASS position 0,
|
|
RDB$ACL position 1,
|
|
RDB$DESCRIPTION position 2;
|
|
|
|
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$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$TRIGGER_MESSAGES
|
|
RDB$TRIGGER_NAME position 0,
|
|
RDB$MESSAGE_NUMBER position 1,
|
|
RDB$MESSAGE position 2;
|
|
|
|
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$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$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;
|
|
|
|
|
|
/* Index Definitions */
|
|
|
|
|
|
define index RDB$INDEX_19 for RDB$CHARACTER_SETS unique
|
|
RDB$CHARACTER_SET_NAME;
|
|
|
|
define index RDB$INDEX_25 for RDB$CHARACTER_SETS unique
|
|
RDB$CHARACTER_SET_ID;
|
|
|
|
define index RDB$INDEX_14 for RDB$CHECK_CONSTRAINTS
|
|
RDB$CONSTRAINT_NAME;
|
|
|
|
define index RDB$INDEX_40 for RDB$CHECK_CONSTRAINTS
|
|
RDB$TRIGGER_NAME;
|
|
|
|
define index RDB$INDEX_20 for RDB$COLLATIONS unique
|
|
RDB$COLLATION_NAME;
|
|
|
|
define index RDB$INDEX_26 for RDB$COLLATIONS unique
|
|
RDB$COLLATION_ID,
|
|
RDB$CHARACTER_SET_ID;
|
|
|
|
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_23 for RDB$EXCEPTIONS unique
|
|
RDB$EXCEPTION_NAME;
|
|
|
|
define index RDB$INDEX_24 for RDB$EXCEPTIONS
|
|
RDB$EXCEPTION_NUMBER;
|
|
|
|
define index RDB$INDEX_2 for RDB$FIELDS unique
|
|
RDB$FIELD_NAME;
|
|
|
|
define index RDB$INDEX_36 for RDB$FIELD_DIMENSIONS
|
|
RDB$FIELD_NAME;
|
|
|
|
define index RDB$INDEX_17 for RDB$FILTERS
|
|
RDB$INPUT_SUB_TYPE,
|
|
RDB$OUTPUT_SUB_TYPE;
|
|
|
|
define index RDB$INDEX_16 for RDB$FORMATS
|
|
RDB$RELATION_ID,
|
|
RDB$FORMAT;
|
|
|
|
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_6 for RDB$INDEX_SEGMENTS
|
|
RDB$INDEX_NAME;
|
|
|
|
define index RDB$INDEX_31 for RDB$INDICES
|
|
RDB$RELATION_NAME;
|
|
|
|
define index RDB$INDEX_5 for RDB$INDICES unique
|
|
RDB$INDEX_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_18 for RDB$PROCEDURE_PARAMETERS unique
|
|
RDB$PROCEDURE_NAME,
|
|
RDB$PARAMETER_NAME;
|
|
|
|
define index RDB$INDEX_13 for RDB$REF_CONSTRAINTS unique
|
|
RDB$CONSTRAINT_NAME;
|
|
|
|
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_12 for RDB$RELATION_CONSTRAINTS unique
|
|
RDB$CONSTRAINT_NAME;
|
|
|
|
define index RDB$INDEX_15 for RDB$RELATION_FIELDS unique
|
|
RDB$FIELD_NAME,
|
|
RDB$RELATION_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_39 for RDB$ROLES unique
|
|
RDB$ROLE_NAME;
|
|
|
|
define index RDB$INDEX_7 for RDB$SECURITY_CLASSES unique
|
|
RDB$SECURITY_CLASS;
|
|
|
|
define index RDB$INDEX_32 for RDB$TRANSACTIONS unique
|
|
RDB$TRANSACTION_ID;
|
|
|
|
define index RDB$INDEX_38 for RDB$TRIGGERS
|
|
RDB$RELATION_NAME;
|
|
|
|
define index RDB$INDEX_8 for RDB$TRIGGERS unique
|
|
RDB$TRIGGER_NAME;
|
|
|
|
define index RDB$INDEX_35 for RDB$TRIGGER_MESSAGES
|
|
RDB$TRIGGER_NAME;
|
|
|
|
define index RDB$INDEX_37 for RDB$TYPES
|
|
RDB$TYPE_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_33 for RDB$VIEW_RELATIONS
|
|
RDB$VIEW_NAME;
|
|
|
|
define index RDB$INDEX_34 for RDB$VIEW_RELATIONS
|
|
RDB$RELATION_NAME;
|
|
|
|
/* Add Security Classes to Defined Objects */
|
|
|
|
|
|
|
|
modify relation RDB$ROLES
|
|
security_class SQL$RDB$ROLES;
|
|
|
|
|
|
/* Security Class Definitions / GRANT statements */
|
|
|
|
|
|
grant SELECT on RDB$ROLES to PUBLIC;
|
|
|
|
grant DELETE on RDB$ROLES to SYSDBA with grant option;
|
|
|
|
grant INSERT on RDB$ROLES to SYSDBA with grant option;
|
|
|
|
grant SELECT on RDB$ROLES to SYSDBA with grant option;
|
|
|
|
grant UPDATE on RDB$ROLES to SYSDBA with grant option;
|
|
|
|
|
|
/* Generator Definitions */
|
|
|
|
|
|
define generator RDB$CONSTRAINT_NAME;
|
|
define generator RDB$EXCEPTIONS;
|
|
define generator RDB$FIELD_NAME;
|
|
define generator RDB$INDEX_NAME;
|
|
define generator RDB$PROCEDURES;
|
|
define generator RDB$SECURITY_CLASS;
|
|
define generator RDB$TRIGGER_NAME;
|
|
define generator SQL$DEFAULT;
|
|
|
|
/* 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_10 for RDB$RELATION_CONSTRAINTS
|
|
pre erase 0:
|
|
|
|
end_trigger
|
|
message 1: 'primary_key_ref ',
|
|
message 2: 'primary_key_notnull ';
|
|
|
|
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 ';
|
|
|
|
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_2 for RDB$TRIGGERS
|
|
pre modify 0:
|
|
|
|
end_trigger
|
|
message 0: 'systrig_update ';
|
|
|
|
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_25 for RDB$RELATION_CONSTRAINTS
|
|
pre modify 0:
|
|
|
|
end_trigger
|
|
message 1: 'rel_cnstrnt_update ';
|
|
|
|
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_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_3 for RDB$TRIGGERS
|
|
pre erase 0:
|
|
|
|
end_trigger
|
|
message 0: 'systrig_update ';
|
|
|
|
define trigger RDB$TRIGGER_30 for RDB$EXCEPTIONS
|
|
pre store 0:
|
|
|
|
end_trigger;
|
|
|
|
define trigger RDB$TRIGGER_31 for RDB$USER_PRIVILEGES
|
|
pre modify 0:
|
|
|
|
end_trigger
|
|
message 0: 'no_write_user_priv ';
|
|
|
|
define trigger RDB$TRIGGER_32 for RDB$USER_PRIVILEGES
|
|
pre erase 0:
|
|
|
|
end_trigger
|
|
message 0: 'no_write_user_priv ';
|
|
|
|
define trigger RDB$TRIGGER_33 for RDB$USER_PRIVILEGES
|
|
pre store 0:
|
|
|
|
end_trigger
|
|
message 0: 'no_write_user_priv ';
|
|
|
|
define trigger RDB$TRIGGER_34 for RDB$RELATION_CONSTRAINTS
|
|
post erase 0:
|
|
|
|
end_trigger;
|
|
|
|
define trigger RDB$TRIGGER_35 for RDB$CHECK_CONSTRAINTS
|
|
post erase 0:
|
|
|
|
end_trigger;
|
|
|
|
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_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 ';
|