217 lines
13 KiB
Plaintext
217 lines
13 KiB
Plaintext
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
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
///////////////////////////////////////////////////////////////////////////////
|