1 /* BEGIN mrds_select_list.incl.pl1 -- jaw 10/20/78 */
 2 
 3 /* HISTORY:
 4 
 5    81-06-01 Jim Gray : removed user len and type elements,
 6    since mu_convert rather than assign_ is now used.
 7 
 8    84-11-22 John Hergert: added fr_ptr
 9 
10 /****^  HISTORY COMMENTS:
11   1) change(86-07-17,Dupuis), approve(86-08-05,MCR7491), audit(86-08-08,Blair),
12      install(86-08-15,MR12.0-1127):
13      85-11-22 Hergert: Added variable var_exists so that it may be kept
14      around per select expression (in sets) and when compiling. (mrds #158)
15   2) change(87-11-23,Hergert), approve(88-06-28,MCR7903),
16      audit(88-06-28,Dupuis), install(88-08-01,MR12.2-1073):
17      For new parser, (and general readability) renamed sel_ptr to
18      select_list_ptr.
19                                                    END HISTORY COMMENTS */
20 
21 
22 dcl 1 select_list based (select_list_ptr),                            /* tabular representation of -select clause */
23     2 num_vars fixed bin,                                   /* number of free variables */
24     2 mla_ptr ptr,                                          /* pointer to array of move list pointers */
25     2 fr_ptr ptr,                                           /* pointer to free_raltions struct in mrds_dsl_select_clause */
26     2 num_items fixed bin,                                  /* number of attributes specified in select list */
27     2 var_exists (36) bit(1),
28     2 item (mrds_data_$max_select_items refer (select_list.num_items)),
29       3 must_convert bit (1) unal,                          /* on if conversion required */
30       3 key bit (1) unal,                                   /* on if to be key attr. in temp. rel. */
31       3 index bit (1) unal,                                 /* on if index attribute in temp rel */
32       3 reserved bit (33) unal,                             /* reserved for future use */
33       3 var_index fixed bin,                                /*  index of assoc. tuple variable */
34       3 ai_ptr ptr,                                         /* ptr to attr_info */
35       3 user_desc_ptr ptr,                                  /* to descriptor for user value */
36       3 user_ptr ptr ;                                      /* pointer to user's area */
37 
38 dcl  select_list_ptr ptr int automatic init (null ());
39 
40 dcl 1 move_list_array (select_list.num_vars) based (select_list.mla_ptr),
41     2 var_index fixed bin,
42     2 ml_ptr ptr;
43 
44 /* END mrds_select_list.incl.pl1 */
45