1 /* BEGIN INCLUDE FILE - dm_specification.incl.pl1 */
 2 
 3 /* DESCRIPTION:
 4 
 5           The specification structure is used to identify sets items based on
 6      the value of some of the contents of the items (the
 7      search_specification), or based on the ordinal position (the
 8      numeric_specification) of the first or last item in the desired set of
 9      items in the set of all possible items.  It is used with the relation,
10      index and record managers.  The items for these three managers are
11      tuples, keys and records, respectively.  The sets of "all possible
12      items", for determination of ordinal position for these three managers
13      are: a relation, an index, and a record collection, respectively.
14 
15           The specification_head structure, in dm_specification_head.incl.pl1,
16      must be included in any program which uses this (the
17      dm_specification.incl.pl1) include file.
18 */
19 
20 /* HISTORY:
21 
22 Written by Lindsey Spratt, 05/19/82.
23 Modified:
24 08/17/82 by Matthew Pierret:  Added all specification type constants.
25 09/24/82 by Ronald Harvey: Changed version and added and_groups.
26 10/22/82 by Lindsey Spratt:  Added the range_size to the numeric_specification.
27             Changed the version to 3.
28 05/11/83 by Matthew Pierret: Moved specification_head and and type constants
29             to dm_specification_head.incl.pl1. Added constraint.value_field_id.
30             Moved range type constants into dm_range_constants.incl.pl1.
31 05/20/83 by Matthew Pierret: Added constraint.value_field_id for specifying
32             intra-key/record compares.
33 10/02/84 by Lindsey L. Spratt:  Moved a misplaced journalization comment.
34             Added a DESCRIPTION comment.
35 */
36 
37 /* format: style2,ind3 */
38      dcl     1 search_specification based (search_specification_ptr),
39                2 head               like specification_head,
40                2 maximum_number_of_constraints
41                                     fixed bin (17) unal,
42                2 number_of_and_groups
43                                     fixed bin (17) unal,
44                2 range              unal,
45                  3 type             fixed bin (17),
46                  3 size             fixed bin (17),
47                2 and_group          (ss_number_of_and_groups refer (search_specification.number_of_and_groups)),
48                  3 number_of_constraints
49                                     fixed bin (17) unal,
50                  3 constraint       (ss_maximum_number_of_constraints
51                                     refer (search_specification.maximum_number_of_constraints)),
52                    4 field_id       fixed bin (17) unal,
53                    4 operator_code  fixed bin (17) unal,
54                    4 value_field_id fixed bin (17) unal,
55                    4 pad            bit (18) unal,
56                    4 value_ptr      ptr unal;
57 
58      dcl     search_specification_ptr
59                                     ptr;
60      dcl     (ss_number_of_and_groups, ss_maximum_number_of_constraints)
61                                     fixed bin (17);
62 
63      dcl     1 numeric_specification
64                                     based (numeric_specification_ptr),
65                2 head               like specification_head,
66                2 range_size         fixed bin (35) aligned,
67                2 position_number    fixed bin (17) unal,
68                2 pad                bit (18) unal;
69 
70      dcl     numeric_specification_ptr
71                                     ptr;
72 
73 /* END INCLUDE FILE - dm_specification.incl.pl1 */