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