1 /* BEGIN mdbm_rel_att_array.incl.pl1 -- odf 8/21/78 */
 2 /* modified by Jim Gray - - June/July 1979 to add key/varying attr counts and comments
 3    Modified by Jim Gray - - April 1980, to add submodel's total_view bit to rel_names.
 4    Modified by Lindsey Spratt - - August 1980, to add security permission bits to rel/att_names.
 5    Modified by Jim Gray - - 80-11-06, to change s_perm = append_tuple_perm,
 6    d_perm = delete_tuple_perm, r_perm = status_perm, m_perm = unused_perm.
 7 
 8    81-01-23 Jim Gray : added bit to att_names so that the resultant can
 9    be build for partial view submodels, and know whether the last varying attr
10    is a character or bit string type, for determining the bit offset of end of tuple.
11 
12    81-05-28 Jim Gray : removed structures for foreign key interface.
13 
14 
15 
16    NOTE: These structures are used as the parameters in the "mus_get_" routines
17    that are called by mu_sec_make_res, to return the users view of
18    either the model or submodel he has opened with. */
19 
20 dcl 1 rel_names based (rns_ptr),                            /* array of relations in a file to be readied */
21     2 num fixed bin,                                        /* nbr. of relations in this file */
22     2 item (num_rels_init refer (rel_names.num)),
23       3 sm char (32),                                       /* submodel name of relation */
24       3 dm char (32),                                       /* data model name */
25       3 natts fixed bin,                                    /* nbr. of attrs. in this relation */
26       3 ri_ptr ptr,                                         /* points to rel_info in file_model */
27       3 total_view bit (1) unal,                            /* ON --> all attrs in model rel present */
28       3 status_perm bit (1) unal,                           /* ON --> opener has permission to look at relation */
29       3 append_tuple_perm bit (1) unal,                     /* ON --> opener has permission to store into this relation */
30       3 delete_tuple_perm bit (1) unal,                     /* ON --> opener has permission to delete tuples */
31       3 unused_perm bit (1) unal,                           /* unused perm */
32       3 pad bit (31) unal ;                                 /* for future use */
33 
34 dcl 1 att_names based (ans_ptr),                            /* array of attributes in a relation */
35     2 num fixed bin,                                        /* attributes in a relation */
36     2 num_key_attrs fixed bin,                              /* number of key attributes in model/submodel relation */
37     2 num_varying_attrs fixed bin,                          /* count of varying bit/char data type attrs */
38     2 last_model_attr_char_var bit (1) unal,                /* on => last attr in model view is char varying */
39     2 mbz bit (35) unal,                                    /* for future use */
40     2 item (num_atts_init refer (att_names.num)),
41       3 sm char (32),                                       /* submodel name */
42       3 dm char (32),                                       /* data model name */
43       3 ai_ptr ptr,                                         /* points to attr_info in file_model */
44       3 di_ptr ptr,                                         /* points to domain_info in file_model */
45       3 rai_ptr ptr,                                        /* points to attr info in resultant model */
46       3 r_perm bit (1) unal,                                /* ON --> opener has permission to retrieve attribute */
47       3 u_perm bit (1) unal,                                /* ON --> opener has permission to update attribute */
48       3 pad bit (34) unal;                                  /* future use */
49 
50 dcl  num_rels_init fixed bin;
51 dcl  num_atts_init fixed bin;
52 
53 dcl  rns_ptr ptr;
54 dcl  ans_ptr ptr;
55 
56 /* END mdbm_rel_att_array.incl.pl1 */
57