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 */