1 /* BEGIN INCLUDE FILE mdbm_file_model_init.incl.pl1 -- rbh 6/22/82 */
  2 
  3 
  4 
  5 /****^  HISTORY COMMENTS:
  6   1) change(82-10-12,DWoodka), approve(), audit(), install():
  7      Modified for DMS conversion - added primary_key_index_id to init_rel_info,
  8      and changed init_rel_info.id to be bit (36) instead of bit (12). Deleted
  9      child_link_ptr and parent_link_ptr, no longer needed.
 10   2) change(85-12-03,Spitzer), approve(85-12-03,MCR7311),
 11      audit(86-09-02,Blair), install(86-10-16,MR12.0-1187):
 12      added (file_model relation)_copy_good fields for rmdb.
 13                                                    END HISTORY COMMENTS */
 14 
 15 
 16 /* From mdbm_file_model.incl.pl1 */
 17 
 18 dcl 1 init_file_model aligned internal static options (constant), /* base of segment */
 19     2 temporary bit (1) unal init ("0"b),         /* on if file not part of db. */
 20     2 procedures_present bit (1) unal init ("0"b), /* on => ids procedures present */
 21     2 file_model_copy_good bit (1) unaligned init ("0"b),   /* on => <rel>.m file is the good copy */
 22     2 relation_copy_good bit (1) unaligned init ("0"b),     /* on => <rel> file is the good copy */
 23     2 reserved bit (32) unal init ("0"b),         /* reserved for future flags */
 24     2 max_tuples fixed bin (35) init (0),                   /* not used */
 25     2 num_blocks fixed bin (35) init (0),                   /* not used */
 26     2 num_buckets fixed bin (35) init (0),                  /* not used */
 27     2 pad_1 fixed bin (35) init (0),                        /* for future use */
 28     2 pad_2 fixed bin (35) init (0),
 29 
 30     2 ratd_len fixed bin (21) init (0),                     /* useless garbage */
 31     2 mratd_len fixed bin (21) init (0),                    /* useless garbage */
 32     2 uatd_len fixed bin (21) init (0),                     /* useless garbage */
 33     2 latd_len fixed bin (21) init (0),                     /* useless garbage */
 34     2 sratd_len fixed bin (21) init (0),                    /* useless garbage */
 35     2 suatd_len fixed bin (21) init (0),                    /* useless garbage */
 36     2 file_type unal fixed bin init (1),                    /* 1 */
 37     2 block_size unal fixed bin init (0),                   /* not used */
 38     2 block_factor unal fixed bin init (0),                 /* not used */
 39     2 bucket_density unal fixed bin init (0),               /* not used */
 40     2 tuple_id_len unal fixed bin init (36),                /* always 36? */
 41     2 num_rels unal fixed bin init (1),                     /* always 1 */
 42     2 num_links unal fixed bin init (0),                    /* not used */
 43     2 num_children unal fixed bin init (0),                 /* not used */
 44     2 default_rbs (3) unal fixed bin (8) init (4,4,4),      /* file ring brackets when not MDBM-secured */
 45     2 rel_ptr unal bit (18) init ((18)"1"b),      /* to first of list of rel_infos */
 46     2 link_ptr unal bit (18) init ((18)"1"b), /* always null */
 47     2 children_ptr unal bit (18) init ((18)"1"b),  /* always null */
 48     2 cno_array_ptr unal bit (18) init ((18)"1"b), /* always null */
 49     2 fi_ptr unal bit (18) init ((18)"1"b),       /* offset to file_info in db_model */
 50     2 suatd_ptr unal bit (18) init ((18)"1"b),              /* garbage */
 51     2 sratd_ptr unal bit (18) init ((18)"1"b),              /* garbage */
 52     2 latd_ptr unal bit (18) init ((18)"1"b),               /* garbage */
 53     2 uatd_ptr unal bit (18) init ((18)"1"b),               /* garbage */
 54     2 mratd_ptr unal bit (18) init ((18)"1"b),              /* garbage */
 55     2 ratd_ptr unal bit (18) init ((18)"1"b),               /* garbage */
 56     2 ptr_pad unal bit (9) init ((9)"1"b),                  /* align to half-word value */
 57     2 unused_ptr_space unal bit (18) dimension (28) init ((28)(18)"1"b),   /* free ptr space */
 58     2 ptr_pad2 unal bit (9) init ((9)"1"b),                 /* align to byte */
 59     2 changer_ptr unal bit (18) init ((18)"1"b);            /* pointer to changer_id, changer_time structure */
 60 
 61 
 62 dcl 1 like_file_model aligned based (fm_ptr) like init_file_model;    /* base of segment */
 63 
 64 
 65 dcl 1 init_rel_info aligned internal static options (constant),
 66     2 name char (32) init (""),                             /* relation name */
 67     2 id aligned bit (36) init ("000000000000000000000000000000000001"b),                 /* relation id number */
 68     2 hashed bit (1) unal init ("0"b),            /* on if hashed */
 69     2 duplicates bit (1) unal init ("0"b),        /* on if allow dup. hash fields */
 70     2 via_link bit (1) unal init ("0"b),          /* on if to be stored by parent */
 71     2 system bit (1) unal init ("0"b),            /* on if dont care how stored */
 72     2 indexed bit (1) unal init ("0"b),           /* on if secondary index */
 73     2 mrds_update bit (1) unal init ("1"b),       /* on if updateable by MRDS */
 74     2 mrds_retrieve bit (1) unal init ("1"b),     /* on if retrievable by MRDS */
 75     2 virtual bit (1) unal init ("0"b),           /* if virtual relation, mapped on IDS records */
 76     2 procedures_present bit (1) unal init ("0"b),/* on => ids type procedures present */
 77     2 reserved bit (27) unal init ("0"b),         /* for future flags */
 78     2 num_attr unal fixed bin init (0),                     /* number of attributes (all levels) defined */
 79     2 num_links_child unal fixed bin init (0),              /* no. links in which child */
 80     2 num_links_par unal fixed bin init (0),                /* no. links_in which parent */
 81     2 max_attr_index_id unal fixed bin init (0),            /* max index id used by attr in this rel or PLI */
 82     2 num_key_attrs unal fixed bin init (0),                /* number of attributes in primary key for this rel */
 83     2 nvar_atts unal fixed bin init (0),                    /* no. varying len. attributes */
 84     2 n36_thds unal fixed bin init (0),                     /* no. of 36-bit threads */
 85     2 n27_thds unal fixed bin init (0),                     /* no of 27-bit threads */
 86     2 n18_thds unal fixed bin init (0),                     /* no of 18-bit threads */
 87     2 unused_3 unal fixed bin init (0),                     /* element that was never used */
 88     2 max_data_len fixed bin (35) init (0),                 /* max length of data portion of tuple */
 89     2 avg_data_len fixed bin (35) init (0),                 /* average length of tuple data portion */
 90     2 max_key_len fixed bin (35) init (0),                  /* max key length if not hashed */
 91     2 var_offset fixed bin (35) init (1),                   /* position of first varying attr. */
 92     2 max_tuples fixed bin (35) init (0),                   /* max no. tuples if blocked file */
 93     2 fwd_thread unal bit (18) init ((18)"1"b),    /* offset to next rel. in file */
 94     2 attr_ptr unal bit (18) init ((18)"1"b), /* to attr. info */
 95     2 primary_key_index_id bit (36) aligned init ("000000000000000000000000000000000001"b),
 96     2 clink_ptr unal bit (18) init ((18)"1"b),/* offset to child info of link determining location */
 97     2 map_ptr unal bit (18) init ((18)"1"b),      /* pointer to mapping info if virtual rel. */
 98     2 sec_ind_ptr unal bit (18) init ((18)"1"b),   /* ptr to list of sec. ind. infos, init. not used */
 99     2 locator_proc_path_ptr unal bit (18) init ((18)"1"b),   /* proc to determ. location */
100     2 link_before_path_ptr unal bit (18) init ((18)"1"b),    /* op. proc. paths and entries */
101     2 link_err_path_ptr unal bit (18) init ((18)"1"b),
102     2 link_after_path_ptr unal bit (18) init ((18)"1"b),
103     2 unlk_before_path_ptr unal bit (18) init ((18)"1"b),
104     2 unlk_err_path_ptr unal bit (18) init ((18)"1"b),
105     2 unlk_after_path_ptr unal bit (18) init ((18)"1"b),
106     2 str_before_path_ptr unal bit (18) init ((18)"1"b),
107     2 str_err_path_ptr unal bit (18) init ((18)"1"b),
108     2 str_after_path_ptr unal bit (18) init ((18)"1"b),
109     2 del_before_path_ptr unal bit (18) init ((18)"1"b),
110     2 del_err_path_ptr unal bit (18) init ((18)"1"b),
111     2 del_after_path_ptr unal bit (18) init ((18)"1"b),
112     2 mod_before_path_ptr unal bit (18) init ((18)"1"b),
113     2 mod_err_path_ptr unal bit (18) init ((18)"1"b),
114     2 mod_after_path_ptr unal bit (18) init ((18)"1"b),
115     2 find_before_path_ptr unal bit (18) init ((18)"1"b),
116     2 find_err_path_ptr unal bit (18) init ((18)"1"b),
117     2 find_after_path_ptr unal bit (18) init ((18)"1"b),
118     2 retr_before_path_ptr unal bit (18) init ((18)"1"b),
119     2 retr_err_path_ptr unal bit (18) init ((18)"1"b),
120     2 retr_after_path_ptr unal bit (18) init ((18)"1"b),
121     2 unused_1 unal bit (18) init ((18)"1"b), /* for future expansion */
122     2 unused_2 unal bit (18) init ((18)"1"b),
123     2 changer_ptr unal bit (18) init ((18)"1"b);   /* pointer to changer_id, changer_time structure */
124 
125 
126 /* END INCLUDE FILE mdbm_file_model_init.incl.pl1 */
127 
128