1 /* BEGIN INCLUDE FILE - dm_interval_spec.incl.pl1 */ 2 3 4 5 6 /****^ HISTORY COMMENTS: 7 1) change(86-09-19,Dupuis), approve(86-09-19,MCR7401), audit(86-09-24,Blair), 8 install(86-10-02,MR12.0-1173): 9 Changed the declaration of interval_bead to also initialize id_string and 10 id_list_ptr. The declare had initialized all of the structure but forgot 11 these elements. 12 END HISTORY COMMENTS */ 13 14 15 16 /* DESCRIPTION: 17 18 The interval_specification is used in the index manager searching as 19 an internal (normalized) representation of the search specification. 20 Each interval_bead is a separate search problem, a separate interval. 21 The im_build_interval_spec module builds the interval_specification by 22 analyzing the search_specification. The im_structural_search module 23 applies the interval_specification to the index. 24 */ 25 26 /* HISTORY: 27 28 Written by Lindsey Spratt, 10/06/82. 29 Modified: 30 10/26/84 by Lindsey L. Spratt: Added documentation. Changed to have a 31 char(8) version in interval_specification. 32 */ 33 34 /* format: style2,ind3 */ 35 dcl 1 interval_specification 36 based (interval_specification_ptr) aligned, 37 2 version char (8) aligned, 38 2 number_of_intervals 39 fixed bin (17) unaligned init (0), 40 2 pad bit (18) unaligned init ("0"b), 41 2 first_interval_bead_ptr 42 ptr init (null), 43 2 last_interval_bead_ptr 44 ptr init (null); 45 46 dcl 1 interval_bead based (interval_bead_ptr) aligned, 47 2 simple_typed_vector_ptr 48 ptr init (null), 49 2 next ptr init (null), 50 2 number_of_fully_structural_fields 51 fixed bin (17) init (0) unal, 52 2 low, 53 3 id_string bit (36) aligned init ("0"b), 54 3 value_ptr ptr unaligned init (null), 55 3 operator_code fixed bin (18) uns unal init (0), 56 3 pad bit (18) init ("0"b) unal, 57 2 high like interval_bead.low, 58 2 id_list_ptr ptr init (null); /* This points at an id_list as declared in dm_id_list.incl.pl1 */ 59 /* The ids in this list are of and_groups in */ 60 /* the original search_specification. */ 61 62 dcl interval_specification_ptr 63 ptr init (null); 64 dcl interval_bead_ptr ptr init (null); 65 dcl INTERVAL_SPECIFICATION_VERSION_2 66 init ("IntSpc 2") aligned char (8) internal static options (constant); 67 68 69 /* END INCLUDE FILE - dm_interval_spec.incl.pl1 */