compile insert DICT_EQUATES /* ** Copyright (C) 1992-2016 Revelation Software Inc. All Rights Reserved ** Author : The wizards of old Date : Once upon a time ... Purpose : Equates that define the structure of Advanced Revelation's and OpenEngine's Data Dictionary Comments ======== Amended Date Reason ======= ==== ====== Mr C 14 Jun 18 Added DICT_FOREIGN_KEY_TABLE$ Mr C 16 Feb 16 Added a couple of delimiter notes Mr C 24 Sep 15 Cleaned up, Added header guards, removed HR equates mtr 05 Jan 11 Added DICT_BITMAP_IDX_FLAG$ for field 46 mtr 21 Feb 06 Added fields 36 and 37, And FIELDS For %fields% mtr 19 Jan 06 Added field 35 */ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _DICT_EQUATES_ #define _DICT_EQUATES_ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// equ DICT_TYPE$ to 1 ;* Type of current field. ;* 'F' = Data Field ;* 'S' = Symbolic (formula in DICT_FORMULA) ;* 'G' = Group (group data in DICT_DISPLAY) equ DICT_COLUMN_NO$ to 2 ;* The position of the data in the record equ DICT_DISPLAY$ to 3 ;* The Column Heading used by RLIST and other tools ;* For type 'G' dictionary records, this field ;* contains the group data. ;* ( Lines are @vm delimited ) equ DICT_SM$ to 4 ;* Single or Multivalue flag "S"ingle "M"ulti equ DICT_PART$ to 5 ;* Key part. For multi-part keys, this field ;* specifies the part number (1, 2, 3, etc.) ;* For single-part key fields, this field should be 0. equ DICT_INDEX_FLAG$ to 6 ;* BTREE INDEX flag (boolean value). equ DICT_CONV$ to 7 ;* Contains the output conversion for data equ DICT_FORMULA$ to 8 ;* If the field type = "S" then this field will contain an rbasic formula equ DICT_JUST$ to 9 ;* Justification for displaying and sorting data. ;* 'L' = Left ;* 'R' = Right ;* 'C' = Centered ;* 'T' = Text ;* Text justification means no justification. equ DICT_LENGTH$ to 10 ;* Display length for this field. Note that this length ;* is not necessarily the length of the data itself, ;* especially in bonded files. equ DICT_PATTERN$ to 11 ;* Input validation/conversion for this field equ DICT_GENERIC_TYPE$ to 12 ;* The Arev Generic Data type associated with this field equ DICT_SOURCE$ to 13 ;* This field is basically reserved for backwards compatibility ;* with REV/G. Don't use it. equ DICT_LAST_UPDATE_BY$ to 13 ;* Well, I guess we are using it now then right? :) equ DICT_DESC$ to 14 ;* Description of this field. Used for documentation. ;* Can be displayed as online help using an HD code. ;* ( Lines are @tm delimited ) equ DICT_FOREIGN_TYPE$ to 15 ;* The data type name in the foreign environment equ DICT_FOREIGN_NAME$ to 16 ;* The field name in the foreign environment equ DICT_FOREIGN_MAP$ to 17 ;* For bonded files, this field uniquely specifies ;* a data mapping (that is, the algorithm used to ;* transfer data between the Advanced Revelation data type ;* and the foreign data type). equ DICT_FOREIGN_ATTR$ to 18 ;* This field contains any foreign field attributes ;* that a bonded dictionary field may have, separated ;* by value marks. equ DICT_PMD$ to 19 ;* This field is still being designed. (Still?) equ DICT_NULL_TRUNC$ to 20 ;* This field allows the user to override the bond's ;* default handling of null values for this field. ;* If the bond cannot support null values, setting the first ;* value of this field to 'Y' allows nulls to be stored ;* without an error. A 'N' or null first value allows the ;* default behaviour: if the bond cannot store nulls in this ;* field and a null is written, an I/O error will result. ;* If the first value is 'Y', the second value can be ;* used to specify what value the bond should store in ;* the field when a null is written. The bond is not ;* required to support this latter ability. equ DICT_DEPENDENT$ to 21 ;* Reserved for indexing. equ DICT_XREF$ to 22 ;* If non-null, then there is a cross-reference index ;* on this field. In that case, the value in DICT_XREF ;* is the name of the symbolic field that calculates the ;* cross-reference index. equ DICT_RELATIONAL$ to 23 ;* If non-null, then this field is used to update a relational ;* index in another file and contains the key to a record ;* in that other file. equ DICT_RELATED$ to 24 ;* For relational indexes, this field is updated to contain the ;* keys to the related records in the other file. equ DICT_PROTECT$ to 25 ;* 1 if this field is protected. This flag is set by ;* relational indexing process. equ DICT_LOWERCASE$ to 26 ;* Controls how indexed fields are indexed: ;* 0 = convert to uppercase ;* 1 = maintain case supplied. equ DICT_COMPUTED$ to 27 ;* Reserved for indexing. equ DICT_MASTER_FLAG$ to 28 ;* For 'F'-type dictionary records, this flag ;* distinguishes synonym fields from the "real" field. ;* This flag is '0' for synonyms and '1' otherwise. equ DICT_DEFAULT$ to 29 ;* SQL default value for insertions. equ DICT_REFERENCE$ to 30 ;* SQL. Indicates this column is a foreign key to the listed table(s). equ DICT_NULL$ to 31 ;* SQL. ;* 0 = column can store nulls. ;* 1 = column can't store nulls. ;* We're still figuring out whether this field and ;* DICT_NULL.TRUNC should be the same field. ;* ;* (Well don't keep us in suspense - you've have 20 years or so... ) equ DICT_UNIQUE$ to 32 ;* SQL. 0=column may contain duplicate values. 1=column must contain unique values. equ DICT_LENGTH_LIMIT$ to 33 ;* SQL. Length (in chars) of data. Needs to be ;* integrated with bonding. equ DICT_PRODUCT$ to 34 ;* Product flag ;* 0 or null - both Advanced Revelation and OpenInsight ;* 1 Advanced Revelation only ;* 2 OpenInsight only equ DICT_TIMEDATE$ to 35 ; *TimeDate stamp On dictionary Field - back For OI 8.0 equ DICT_MV_GROUPNAME$ to 36 ; *GroupName For AMV groups - back For OI 8.0 equ DICT_MV_GROUP_MASTER$ to 37 ; *GroupName For AMV groups - back For OI 8.0 equ DICT_IN_TRUNC$ to 39 ;* The first value in this field is either null, 0, or 1. ;* 0 or null means the default handling of input truncation: ;* if transferring a field into AREV would result in any loss of ;* information, an I/O error is returned. 1 allows the ;* the bond to truncate the data without returning an error. ;* In this case, either one or two values can follow the 1. ;* For character-based fields, a single value specifies what the ;* bond should read in when all information would be lost ;* (e.g., the field consisted of 3 field marks). For numeric- ;* based fields, the second value is the replacement for ;* numeric underflow and the third value is the replacement for ;* overflow. equ DICT_OUT_TRUNC$ to 40 ;* Same as DICT_IN.TRUNC, except for output. equ DICT_USER1$ to 41 ;* This field is reserved for the application. equ DICT_USER2$ to 42 ;* "" equ DICT_USER3$ to 43 ;* "" equ DICT_USER4$ to 44 ;* "" equ DICT_USER5$ to 45 ;* "" equ DICT_BITMAP_IDX_FLAG$ to 46 ;* Bitmap Index Flag. MTR 1-5-2011 equ DICT_FOREIGN_KEY_TABLE$ to 47 ;* Flags the column as containing keys to a foreign table ;* (contains the foreign table name) equ DICT_OBJECT$ to 51 ;* This field contains binary data; object code for the current Field /////////////////////////////////////////////////////////////////////////////// * // Equates that define the structure of the special record "%FIELDS%" * // found in each Arev Dictionary. All of these fields are associated * // multivalued fields. equ FIELDS_ID$ to "%FIELDS%" equ FIELDS_VERSION$ to 1 ;* Dict.mfs associated version number equ FIELDS_MAXFIELD$ to 2 ;* The highest FMC number in the dictionary. equ FIELDS_NAME$ to 3 ;* Contains field names. equ FIELDS_TYPE$ to 4 ;* Contains DICT_TYPE values. equ FIELDS_FIELD_NO$ to 5 ;* Contains DICT_FIELD.NO values. equ FIELDS_INDEX$ to 6 ;* Contains DICT_INDEX.FLAG values. equ FIELDS_XREF$ to 7 ;* Contains DICT_XREF values. equ FIELDS_PART$ to 8 ;* Contains DICT_PART values. equ FIELDS_MVFLAG$ to 9 ;* Contains DICT_SM values. equ FIELDS_JUST$ to 10 ;* Contains DICT_JUST values. equ FIELDS_LENGTH$ to 11 ;* Contains DICT_LENGTH values. equ FIELDS_CONV$ to 12 ;* Contains DICT_CONV values. equ FIELDS_DEFAULT$ to 13 ;* Contains DICT_DEFAULT values. equ FIELDS_MASTER_FLAG$ to 14 ;* Contains DICT_MASTER.FLAG values. equ FIELDS_PRODUCT$ to 18 ;* Contains DICT_PRODUCT values equ FIELDS_MV_GROUPNAME$ to 19 ;* GroupName For AMV groups - back For OI 8.0 * mtr 2-21-06 equ FIELDS_MV_GROUP_MASTER$ to 20 ;* GroupMaster For AMV groups - back For OI 8.0 * mtr 2-21-06 /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #endif /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////