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