1 /* BEGIN mdbm_rm_rel_array.incl.pl1 -- jaw, 8/9/78 */ 2 3 /* WARNING 4 If the rm_rel_array 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 /* HISTORY: 10 11 81-05-28 Jim Gray : added model_name and file_id as part of 12 combining funtions of file_array and rel_array into one 13 structure. This will only allow 1 relation per file model now. 14 Also changed structure to allow more efficient searching 15 via and index builtin, rather than a programmed loop. 16 Search is now I = index(string(rm_rel_array.name), "!" || in_name) 17 with I = ((I - 1) / 33) + 1 to convert from a char to array index. 18 19 */ 20 21 22 /* this structure is allocated in the static are of the structure 23 in mdbm_rm_db_info.incl.pl1, the secure portion of the database 24 resultant model upon opening the database. two copies are 25 allocated, one for temporary relations, initially empty, and one 26 for relations known to the opener, which has a length sufficient 27 for all relations known to the user, but whose names, etc. will 28 not be filled in until the file containing that particular 29 relation is readied. the rm_db_info structure contains a pointer 30 to the rel_arrays, and the array entries, when "readied", point 31 to the mdbm_rm_rel_info.incl.pl1 structures containing model 32 information about the relation, it's attributes, etc. */ 33 34 dcl 1 rm_rel_array aligned based (rmra_ptr), /* array of open relations */ 35 2 num_rels fixed bin, /* no. rels in db. */ 36 2 name (1:rm_num_rels_init refer (rm_rel_array.num_rels)) unal, 37 3 mark char (1) unal, /* separator character = "!" */ 38 3 submodel char (32) unal, /* name of relation is submodel view, model opening => model name */ 39 2 rel_data (rm_num_rels_init refer (rm_rel_array.num_rels)), 40 3 model_name char (30), /* name of relation in model */ 41 3 ri_ptr ptr unal ; /* pointer to rm_rel_info */ 42 43 dcl rmra_ptr ptr; 44 dcl rm_num_rels_init fixed bin; 45 46 /* END mdbm_rm_rel_array.incl.pl1 */ 47 48