1
2
3 dcl vrm_search_list_ptr pointer;
4 dcl vsl_number_of_and_groups fixed bin;
5 dcl vsl_max_number_of_constraints fixed bin;
6
7 dcl 1 vrm_search_list aligned based (vrm_search_list_ptr),
8 2 num_and_groups fixed bin (17) unal,
9 2 max_num_constraints fixed bin (17) unal,
10 2 current_and_group fixed bin (17) unal,
11 2 and_groups (vsl_number_of_and_groups refer (vrm_search_list.num_and_groups)),
12 3 num_cons_in_this_and_group fixed bin (17) unal,
13 3 num_key_cons_in_this_and_group fixed bin (17) unal,
14 3 num_seek_key_attr_count fixed bin (17) unal,
15 3 pos_of_first_bad_key_tail_attr fixed bin (17) unal,
16 3 seek_key_con_ix fixed bin (17) unal,
17 3 do_not_use_sw bit (1) unal,
18
19 3 collection_id_supplied_sw bit (1) unal,
20 3 must_initialize_sw bit (1) unal,
21 3 multi_attr_seek_head_sw bit (1) unal,
22 3 full_key_equal_only_sw bit (1) unal,
23
24 3 unused bit (13) unal,
25 3 collection_id bit (36) aligned,
26 3 collection_info_ptr ptr unal,
27
28
29 3 cons (vsl_max_number_of_constraints refer (vrm_search_list.max_num_constraints))
30 like constraint_info;
31
32 dcl 1 constraint_info based,
33
34 2 val_ptr pointer unal,
35 2 attr_desc_ptr pointer unal,
36
37 2 encoded_key_ptr pointer unal,
38
39 2 encoded_key_length fixed bin (17) unal,
40 2 search_keys_ix fixed bin (17) unal,
41 2 key_offset fixed bin (17) unal,
42 2 key_bit_length fixed bin (17) unal,
43 2 attr_position_in_key fixed bin (17) unal,
44 2 operator fixed bin (17) unal,
45 2 attr_index fixed bin (17) unal,
46 2 attr_bit_length fixed bin (35),
47 2 valid_sw bit (1) unal,
48 2 key_head_sw bit (1) unal,
49
50 2 key_attr_sw bit (1) unal,
51 2 and_group_search_terminator bit (1) unal,
52 2 seek_head_sw bit (1) unal,
53
54 2 seek_head_tail_sw bit (1) unal,
55 2 unused bit (30) unal;
56
57
58 dcl search_keys_ptr ptr;
59 dcl alloc_num_search_keys fixed bin (17);
60 dcl search_keys (alloc_num_search_keys) char (256) varying based (search_keys_ptr);
61
62