open-insight/SYSPROG/STPROCINS/DICT_EQUATES.txt
2024-03-25 15:17:34 -07:00

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
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////