1 /*  BEGIN  mdbm_rm_attr_info.incl.pl1  --  jaw,  11/16/78  */
 2 
 3 /* WARNING
 4           If the rm_attr_info structure is changed then the mrds_data_
 5           item saved_res_version MUST be incremented to invalidate all
 6           existing saved resultants
 7 */
 8 
 9 /*
10 
11    Modified  by  Jim  Gray - - 80-11-05, to add mdbm_secured bit, so
12    that rm_rel_info does not have to be checked
13 
14    81-05-28 Jim Gray  :  removed  structure  elements  referring  to
15    foreign keys.
16 
17    82-08-19  D. Woodka : removed rm_attr_info.bit_offset for the DMS
18    conversion.
19 
20    82-09-15 Davids: added the number_of_dups field.
21 
22    82-09-20 Mike Kubicar : changed the index_id field to be bit (36)
23    aligned.  This is to conform with the new definition in the database
24    model.  Also removed the now useless field varying.
25 
26    82-11-05 Davids: added the field model_defn_order and clarified the
27    comment for the field defn_order.
28 
29    83-05-23 Mike Kubicar : changed number_of_dups to fixed bin (35) since
30    that's what relation manager returns.
31 
32 */
33 
34 
35 /*
36    this   structure   is   allocated   in   the   static   area   of
37    mdbm_rm_db_info.incl.pl1  once for each attribute per relation in
38    a     readied     file.      it     in     turn     points     to
39    mdbm_rm_domain_info.incl.pl1  for  the  attributes  domain.   the
40    rm_attr_info  is  pointed  to  by mdbm_rm_rel_info.incl.pl1.  all
41    structures  are  in  the  rm_db_info  area.   the  attribute data
42    position  within  a  tuple as stored in the data file are kept in
43    this resultant model of the attribute.
44  */
45 
46 dcl 1 rm_attr_info aligned based (rai_ptr),                 /* resultant attr. info */
47     2 name char (32),                                       /* from submodel */
48     2 model_name char (32),                                 /* from model */
49     2 key_attr bit (1) unal,                                /* if key attribute */
50     2 index_attr bit (1) unal,                              /* if secondary index */
51     2 read_perm bit (1) unal,                               /* user has retr. permission */
52     2 modify_perm bit (1) unal,                             /* user has modify permission */
53     2 mdbm_secured bit (1) unal,                            /* on => database secured */
54     2 reserved bit (30) unal,                               /* for future use */
55     2 index_id bit (36) aligned,                            /* index id if index_attr */
56     2 defn_order fixed bin,                                 /* relative order in which attr is defined in the view */
57     2 key_order fixed bin,                                  /* relative order defined in prim. key */
58     2 bit_length fixed bin (35),                            /* length if fixed, max. len. if var. */
59     2 domain_ptr ptr,                                       /* to domain info */
60     2 number_of_dups fixed bin (35),                        /* if the attribute is indexed this will
61                                                                be the number of duplicate values, exact
62                                                                for a page_file database, an estimate for a vfile type */
63     2 model_defn_order fixed bin;                           /* relative order in which attr is defined in the model */
64 
65 dcl  rai_ptr ptr int automatic init (null ());
66 
67 /* END mdbm_rm_attr_info.incl.pl1 */
68 
69