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