1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 dcl bj_rec_hdr_ptr ptr;
20
21 dcl 1 bj_rec_hdr aligned based (bj_rec_hdr_ptr),
22 2 type char (4),
23 2 tid bit (36),
24 2 process_id bit (36),
25 2 prev_rec_id bit (36),
26 2 prev_rec_byte_size fixed bin (24),
27 2 tx_rec_no fixed bin (35),
28 2 n_txn fixed bin;
29
30
31
32
33
34
35 dcl 1 bj_committed_rec aligned like bj_rec_hdr based (bj_rec_hdr_ptr);
36
37 dcl 1 bj_begin_commit_rec aligned like bj_rec_hdr based (bj_rec_hdr_ptr);
38
39 dcl 1 bj_aborted_rec aligned like bj_rec_hdr based (bj_rec_hdr_ptr);
40
41 dcl 1 bj_rolled_back_rec aligned based (bj_rec_hdr_ptr),
42 2 header like bj_rec_hdr,
43 2 checkpoint_no fixed bin (35),
44 2 last_rolled_back_rec_id bit (36);
45
46 dcl 1 bj_rollback_handler_rec aligned based (bj_rec_hdr_ptr),
47 2 header like bj_rec_hdr,
48 2 name_len fixed bin (24),
49 2 info_len fixed bin (24),
50 2 proc_name char (bj_rollback_name_len refer (bj_rollback_handler_rec.name_len)),
51 2 info_bits bit (bj_rollback_info_len refer (bj_rollback_handler_rec.info_len));
52
53
54 %page;
55
56
57 dcl 1 bj_before_image aligned based (bj_rec_hdr_ptr),
58 2 header like bj_rec_hdr,
59 2 fm_uid bit (36),
60 2 fm_oid bit (36),
61 2 ci_no fixed bin (35),
62 2 n_parts fixed bin (17),
63 2 image_len fixed bin (24),
64 2 part dim (bj_before_image_n_parts refer (bj_before_image.n_parts)),
65 3 byte_offset fixed bin (24),
66 3 byte_length fixed bin (24),
67 2 image char (bj_before_image_len refer (bj_before_image.image_len));
68
69 dcl 1 bj_fm_handler_rec aligned based (bj_rec_hdr_ptr),
70 2 header like bj_rec_hdr,
71 2 fm_uid bit (36),
72 2 fm_oid bit (36),
73 2 prev_fm_handler_rec_id bit (36),
74 2 info_len fixed bin,
75 2 info_bytes char (bj_fm_handler_info_len refer (bj_fm_handler_rec.info_len));
76
77
78
79 dcl bj_rollback_name_len fixed bin (24);
80 dcl bj_rollback_info_len fixed bin (24);
81 dcl bj_before_image_n_parts fixed bin;
82 dcl bj_before_image_len fixed bin (24);
83 dcl bj_fm_handler_info_len fixed bin (24);
84
85
86
87 dcl 1 BJ_RECORD_TYPE int static options (constant) aligned,
88 ( 2 BEGIN_COMMIT init ("bcom"),
89 2 PERFORM_COMMIT init ("pcom"),
90 2 COMMITTED init ("comm"),
91 2 ABORTED init ("abor"),
92 2 ROLLED_BACK init ("roll"),
93 2 HANDLER init ("hand"),
94 2 FM_ROLLBACK_HANDLER init ("fmrb"),
95 2 FM_POSTCOMMIT_HANDLER init ("fmpc"),
96 2 BEGIN_MARK init ("begi"),
97 2 BEFORE_IMAGE init ("befo")) char (4);
98
99