1 /* BEGIN INCLUDE         rmdb_create_rel_info.incl.pl1                  */
 2 
 3 /* Contains relation name and all attributes that are associated with the
 4    relation being created.  Attributes which are to be indexed are flagged. */
 5 
 6 /* HISTORY:
 7    Created 82-03-22 by R. Lackey
 8 */
 9 
10 
11 dcl 1 rmdb_create_rel_info aligned based (rmdb_create_rel_info_ptr),
12     2 version fixed bin,                                    /* Version number of this structure */
13     2 db_path char (168),                                   /* Absolute pathname of database */
14     2 temp_directory_path char (168),                       /* Absolute pathname of directory to be used for temp space */
15     2 db_model_ptr ptr,                                     /* Pointer to db_model */
16     2 relation_name char (32) unal,                         /* Name of relation being created */
17     2 num_attrs fixed bin,                                  /* Number of attributes
18                                                                for this relation */
19     2 attrs (rmdb_create_rel_info_alloc                     /* Attribute info */
20      refer (rmdb_create_rel_info.num_attrs)) aligned
21      like attr_def_info;
22 
23 
24 dcl 1 attr_def_info based (adi_ptr),                        /* Attribute definition info */
25     2 name char (32) unal,                                  /* Attribute name */
26     2 primary_key bit (1) unal,                             /* Primary key attribute */
27     2 indexed bit (1) unal,                                 /* On => attribute is to be indexed */
28     2 mbz bit (34) unal;                                    /* For future reference */
29 
30 dcl  adi_ptr pointer;                                       /* Pointer to attr_def_info structure */
31 dcl  rmdb_create_rel_info_ptr pointer;                      /* Based structure pointer */
32 dcl  rmdb_create_rel_info_alloc fixed bin;                  /* Allocation size of attribute info for structure */
33 dcl  RMDB_CREATE_REL_INFO_VERSION_1 int static options (constant) init (1);
34 
35 
36 dcl 1 rmdb_ix_attrs aligned based (rmdb_ix_attrs_ptr),      /* List of names of attributes to be indexed */
37     2 version fixed bin,
38     2 relation_name char (32),                              /* Name of the relation */
39     2 num_used fixed bin,
40     2 an (rmdb_ix_attrs_alloc refer (rmdb_ix_attrs.num_used)) char (32);
41 
42 dcl  rmdb_ix_attrs_alloc fixed bin;
43 dcl  rmdb_ix_attrs_ptr ptr;
44 dcl  RMDB_IX_ATTRS_VERSION_1 int static options (constant) init (1);
45 
46 dcl 1 rmdb_sel_val_info aligned based (rmdb_sel_val_info_ptr), /* Selection value info */
47     2 version fixed bin,
48     2 sv_num fixed bin,                                     /* Number of select values */
49     2 data_list_ptr ptr,                                    /* Pointer to list of ptrs to sv data */
50     2 desc_list_ptr ptr;                                    /* Pointer to list of ptrs to sv descriptors */
51 
52 dcl  rmdb_sel_val_info_ptr ptr;
53 dcl  RMDB_SEL_VAL_INFO_VERSION_1 int static options (constant) init (1);
54 
55 /* END INCLUDE           rmdb_create_rel_info.incl.pl1                  */