1 /* Do not edit: automatically built by gen_rec.awk. */
2
3 #include "db_config.h"
4 #include "db_int.h"
5 #include "dbinc/crypto.h"
6 #include "dbinc/db_page.h"
7 #include "dbinc/db_dispatch.h"
8 #include "dbinc/db_am.h"
9 #include "dbinc/txn.h"
10
11 DB_LOG_RECSPEC __db_addrem_desc[] = {
12 {LOGREC_OP, SSZ(__db_addrem_args, opcode), "opcode", "%lu"},
13 {LOGREC_DB, SSZ(__db_addrem_args, fileid), "fileid", ""},
14 {LOGREC_ARG, SSZ(__db_addrem_args, pgno), "pgno", "%lu"},
15 {LOGREC_ARG, SSZ(__db_addrem_args, indx), "indx", "%lu"},
16 {LOGREC_ARG, SSZ(__db_addrem_args, nbytes), "nbytes", "%lu"},
17 {LOGREC_HDR, SSZ(__db_addrem_args, hdr), "hdr", ""},
18 {LOGREC_DBT, SSZ(__db_addrem_args, dbt), "dbt", ""},
19 {LOGREC_POINTER, SSZ(__db_addrem_args, pagelsn), "pagelsn", ""},
20 {LOGREC_Done, 0, "", ""}
21 };
22 DB_LOG_RECSPEC __db_addrem_42_desc[] = {
23 {LOGREC_ARG, SSZ(__db_addrem_42_args, opcode), "opcode", "%lu"},
24 {LOGREC_DB, SSZ(__db_addrem_42_args, fileid), "fileid", ""},
25 {LOGREC_ARG, SSZ(__db_addrem_42_args, pgno), "pgno", "%lu"},
26 {LOGREC_ARG, SSZ(__db_addrem_42_args, indx), "indx", "%lu"},
27 {LOGREC_ARG, SSZ(__db_addrem_42_args, nbytes), "nbytes", "%lu"},
28 {LOGREC_DBT, SSZ(__db_addrem_42_args, hdr), "hdr", ""},
29 {LOGREC_DBT, SSZ(__db_addrem_42_args, dbt), "dbt", ""},
30 {LOGREC_POINTER, SSZ(__db_addrem_42_args, pagelsn), "pagelsn", ""},
31 {LOGREC_Done, 0, "", ""}
32 };
33 DB_LOG_RECSPEC __db_big_desc[] = {
34 {LOGREC_OP, SSZ(__db_big_args, opcode), "opcode", "%lu"},
35 {LOGREC_DB, SSZ(__db_big_args, fileid), "fileid", ""},
36 {LOGREC_ARG, SSZ(__db_big_args, pgno), "pgno", "%lu"},
37 {LOGREC_ARG, SSZ(__db_big_args, prev_pgno), "prev_pgno", "%lu"},
38 {LOGREC_ARG, SSZ(__db_big_args, next_pgno), "next_pgno", "%lu"},
39 {LOGREC_HDR, SSZ(__db_big_args, dbt), "dbt", ""},
40 {LOGREC_POINTER, SSZ(__db_big_args, pagelsn), "pagelsn", ""},
41 {LOGREC_POINTER, SSZ(__db_big_args, prevlsn), "prevlsn", ""},
42 {LOGREC_POINTER, SSZ(__db_big_args, nextlsn), "nextlsn", ""},
43 {LOGREC_Done, 0, "", ""}
44 };
45 DB_LOG_RECSPEC __db_big_42_desc[] = {
46 {LOGREC_ARG, SSZ(__db_big_42_args, opcode), "opcode", "%lu"},
47 {LOGREC_DB, SSZ(__db_big_42_args, fileid), "fileid", ""},
48 {LOGREC_ARG, SSZ(__db_big_42_args, pgno), "pgno", "%lu"},
49 {LOGREC_ARG, SSZ(__db_big_42_args, prev_pgno), "prev_pgno", "%lu"},
50 {LOGREC_ARG, SSZ(__db_big_42_args, next_pgno), "next_pgno", "%lu"},
51 {LOGREC_DBT, SSZ(__db_big_42_args, dbt), "dbt", ""},
52 {LOGREC_POINTER, SSZ(__db_big_42_args, pagelsn), "pagelsn", ""},
53 {LOGREC_POINTER, SSZ(__db_big_42_args, prevlsn), "prevlsn", ""},
54 {LOGREC_POINTER, SSZ(__db_big_42_args, nextlsn), "nextlsn", ""},
55 {LOGREC_Done, 0, "", ""}
56 };
57 DB_LOG_RECSPEC __db_ovref_desc[] = {
58 {LOGREC_DB, SSZ(__db_ovref_args, fileid), "fileid", ""},
59 {LOGREC_ARG, SSZ(__db_ovref_args, pgno), "pgno", "%lu"},
60 {LOGREC_ARG, SSZ(__db_ovref_args, adjust), "adjust", "%ld"},
61 {LOGREC_POINTER, SSZ(__db_ovref_args, lsn), "lsn", ""},
62 {LOGREC_Done, 0, "", ""}
63 };
64 DB_LOG_RECSPEC __db_relink_42_desc[] = {
65 {LOGREC_ARG, SSZ(__db_relink_42_args, opcode), "opcode", "%lu"},
66 {LOGREC_DB, SSZ(__db_relink_42_args, fileid), "fileid", ""},
67 {LOGREC_ARG, SSZ(__db_relink_42_args, pgno), "pgno", "%lu"},
68 {LOGREC_POINTER, SSZ(__db_relink_42_args, lsn), "lsn", ""},
69 {LOGREC_ARG, SSZ(__db_relink_42_args, prev), "prev", "%lu"},
70 {LOGREC_POINTER, SSZ(__db_relink_42_args, lsn_prev), "lsn_prev", ""},
71 {LOGREC_ARG, SSZ(__db_relink_42_args, next), "next", "%lu"},
72 {LOGREC_POINTER, SSZ(__db_relink_42_args, lsn_next), "lsn_next", ""},
73 {LOGREC_Done, 0, "", ""}
74 };
75 DB_LOG_RECSPEC __db_debug_desc[] = {
76 {LOGREC_DBT, SSZ(__db_debug_args, op), "op", ""},
77 {LOGREC_ARG, SSZ(__db_debug_args, fileid), "fileid", "%ld"},
78 {LOGREC_DBT, SSZ(__db_debug_args, key), "key", ""},
79 {LOGREC_DBT, SSZ(__db_debug_args, data), "data", ""},
80 {LOGREC_ARG, SSZ(__db_debug_args, arg_flags), "arg_flags", "%lu"},
81 {LOGREC_Done, 0, "", ""}
82 };
83 DB_LOG_RECSPEC __db_noop_desc[] = {
84 {LOGREC_DB, SSZ(__db_noop_args, fileid), "fileid", ""},
85 {LOGREC_ARG, SSZ(__db_noop_args, pgno), "pgno", "%lu"},
86 {LOGREC_POINTER, SSZ(__db_noop_args, prevlsn), "prevlsn", ""},
87 {LOGREC_Done, 0, "", ""}
88 };
89 DB_LOG_RECSPEC __db_pg_alloc_42_desc[] = {
90 {LOGREC_DB, SSZ(__db_pg_alloc_42_args, fileid), "fileid", ""},
91 {LOGREC_POINTER, SSZ(__db_pg_alloc_42_args, meta_lsn), "meta_lsn", ""},
92 {LOGREC_ARG, SSZ(__db_pg_alloc_42_args, meta_pgno), "meta_pgno", "%lu"},
93 {LOGREC_POINTER, SSZ(__db_pg_alloc_42_args, page_lsn), "page_lsn", ""},
94 {LOGREC_ARG, SSZ(__db_pg_alloc_42_args, pgno), "pgno", "%lu"},
95 {LOGREC_ARG, SSZ(__db_pg_alloc_42_args, ptype), "ptype", "%lu"},
96 {LOGREC_ARG, SSZ(__db_pg_alloc_42_args, next), "next", "%lu"},
97 {LOGREC_Done, 0, "", ""}
98 };
99 DB_LOG_RECSPEC __db_pg_alloc_desc[] = {
100 {LOGREC_DB, SSZ(__db_pg_alloc_args, fileid), "fileid", ""},
101 {LOGREC_POINTER, SSZ(__db_pg_alloc_args, meta_lsn), "meta_lsn", ""},
102 {LOGREC_ARG, SSZ(__db_pg_alloc_args, meta_pgno), "meta_pgno", "%lu"},
103 {LOGREC_POINTER, SSZ(__db_pg_alloc_args, page_lsn), "page_lsn", ""},
104 {LOGREC_ARG, SSZ(__db_pg_alloc_args, pgno), "pgno", "%lu"},
105 {LOGREC_ARG, SSZ(__db_pg_alloc_args, ptype), "ptype", "%lu"},
106 {LOGREC_ARG, SSZ(__db_pg_alloc_args, next), "next", "%lu"},
107 {LOGREC_ARG, SSZ(__db_pg_alloc_args, last_pgno), "last_pgno", "%lu"},
108 {LOGREC_Done, 0, "", ""}
109 };
110 DB_LOG_RECSPEC __db_pg_free_42_desc[] = {
111 {LOGREC_DB, SSZ(__db_pg_free_42_args, fileid), "fileid", ""},
112 {LOGREC_ARG, SSZ(__db_pg_free_42_args, pgno), "pgno", "%lu"},
113 {LOGREC_POINTER, SSZ(__db_pg_free_42_args, meta_lsn), "meta_lsn", ""},
114 {LOGREC_ARG, SSZ(__db_pg_free_42_args, meta_pgno), "meta_pgno", "%lu"},
115 {LOGREC_PGDBT, SSZ(__db_pg_free_42_args, header), "header", ""},
116 {LOGREC_ARG, SSZ(__db_pg_free_42_args, next), "next", "%lu"},
117 {LOGREC_Done, 0, "", ""}
118 };
119 DB_LOG_RECSPEC __db_pg_free_desc[] = {
120 {LOGREC_DB, SSZ(__db_pg_free_args, fileid), "fileid", ""},
121 {LOGREC_ARG, SSZ(__db_pg_free_args, pgno), "pgno", "%lu"},
122 {LOGREC_POINTER, SSZ(__db_pg_free_args, meta_lsn), "meta_lsn", ""},
123 {LOGREC_ARG, SSZ(__db_pg_free_args, meta_pgno), "meta_pgno", "%lu"},
124 {LOGREC_PGDBT, SSZ(__db_pg_free_args, header), "header", ""},
125 {LOGREC_ARG, SSZ(__db_pg_free_args, next), "next", "%lu"},
126 {LOGREC_ARG, SSZ(__db_pg_free_args, last_pgno), "last_pgno", "%lu"},
127 {LOGREC_Done, 0, "", ""}
128 };
129 DB_LOG_RECSPEC __db_cksum_desc[] = {
130 {LOGREC_Done, 0, "", ""}
131 };
132 DB_LOG_RECSPEC __db_pg_freedata_42_desc[] = {
133 {LOGREC_DB, SSZ(__db_pg_freedata_42_args, fileid), "fileid", ""},
134 {LOGREC_ARG, SSZ(__db_pg_freedata_42_args, pgno), "pgno", "%lu"},
135 {LOGREC_POINTER, SSZ(__db_pg_freedata_42_args, meta_lsn), "meta_lsn", ""},
136 {LOGREC_ARG, SSZ(__db_pg_freedata_42_args, meta_pgno), "meta_pgno", "%lu"},
137 {LOGREC_PGDBT, SSZ(__db_pg_freedata_42_args, header), "header", ""},
138 {LOGREC_ARG, SSZ(__db_pg_freedata_42_args, next), "next", "%lu"},
139 {LOGREC_PGDDBT, SSZ(__db_pg_freedata_42_args, data), "data", ""},
140 {LOGREC_Done, 0, "", ""}
141 };
142 DB_LOG_RECSPEC __db_pg_freedata_desc[] = {
143 {LOGREC_DB, SSZ(__db_pg_freedata_args, fileid), "fileid", ""},
144 {LOGREC_ARG, SSZ(__db_pg_freedata_args, pgno), "pgno", "%lu"},
145 {LOGREC_POINTER, SSZ(__db_pg_freedata_args, meta_lsn), "meta_lsn", ""},
146 {LOGREC_ARG, SSZ(__db_pg_freedata_args, meta_pgno), "meta_pgno", "%lu"},
147 {LOGREC_PGDBT, SSZ(__db_pg_freedata_args, header), "header", ""},
148 {LOGREC_ARG, SSZ(__db_pg_freedata_args, next), "next", "%lu"},
149 {LOGREC_ARG, SSZ(__db_pg_freedata_args, last_pgno), "last_pgno", "%lu"},
150 {LOGREC_PGDDBT, SSZ(__db_pg_freedata_args, data), "data", ""},
151 {LOGREC_Done, 0, "", ""}
152 };
153 DB_LOG_RECSPEC __db_pg_init_desc[] = {
154 {LOGREC_DB, SSZ(__db_pg_init_args, fileid), "fileid", ""},
155 {LOGREC_ARG, SSZ(__db_pg_init_args, pgno), "pgno", "%lu"},
156 {LOGREC_PGDBT, SSZ(__db_pg_init_args, header), "header", ""},
157 {LOGREC_PGDDBT, SSZ(__db_pg_init_args, data), "data", ""},
158 {LOGREC_Done, 0, "", ""}
159 };
160 DB_LOG_RECSPEC __db_pg_sort_44_desc[] = {
161 {LOGREC_DB, SSZ(__db_pg_sort_44_args, fileid), "fileid", ""},
162 {LOGREC_ARG, SSZ(__db_pg_sort_44_args, meta), "meta", "%lu"},
163 {LOGREC_POINTER, SSZ(__db_pg_sort_44_args, meta_lsn), "meta_lsn", ""},
164 {LOGREC_ARG, SSZ(__db_pg_sort_44_args, last_free), "last_free", "%lu"},
165 {LOGREC_POINTER, SSZ(__db_pg_sort_44_args, last_lsn), "last_lsn", ""},
166 {LOGREC_ARG, SSZ(__db_pg_sort_44_args, last_pgno), "last_pgno", "%lu"},
167 {LOGREC_DBT, SSZ(__db_pg_sort_44_args, list), "list", ""},
168 {LOGREC_Done, 0, "", ""}
169 };
170 DB_LOG_RECSPEC __db_pg_trunc_desc[] = {
171 {LOGREC_DB, SSZ(__db_pg_trunc_args, fileid), "fileid", ""},
172 {LOGREC_ARG, SSZ(__db_pg_trunc_args, meta), "meta", "%lu"},
173 {LOGREC_POINTER, SSZ(__db_pg_trunc_args, meta_lsn), "meta_lsn", ""},
174 {LOGREC_ARG, SSZ(__db_pg_trunc_args, last_free), "last_free", "%lu"},
175 {LOGREC_POINTER, SSZ(__db_pg_trunc_args, last_lsn), "last_lsn", ""},
176 {LOGREC_ARG, SSZ(__db_pg_trunc_args, next_free), "next_free", "%lu"},
177 {LOGREC_ARG, SSZ(__db_pg_trunc_args, last_pgno), "last_pgno", "%lu"},
178 {LOGREC_PGLIST, SSZ(__db_pg_trunc_args, list), "list", ""},
179 {LOGREC_Done, 0, "", ""}
180 };
181 DB_LOG_RECSPEC __db_realloc_desc[] = {
182 {LOGREC_DB, SSZ(__db_realloc_args, fileid), "fileid", ""},
183 {LOGREC_ARG, SSZ(__db_realloc_args, prev_pgno), "prev_pgno", "%lu"},
184 {LOGREC_POINTER, SSZ(__db_realloc_args, page_lsn), "page_lsn", ""},
185 {LOGREC_ARG, SSZ(__db_realloc_args, next_free), "next_free", "%lu"},
186 {LOGREC_ARG, SSZ(__db_realloc_args, ptype), "ptype", "%lu"},
187 {LOGREC_PGLIST, SSZ(__db_realloc_args, list), "list", ""},
188 {LOGREC_Done, 0, "", ""}
189 };
190 DB_LOG_RECSPEC __db_relink_desc[] = {
191 {LOGREC_DB, SSZ(__db_relink_args, fileid), "fileid", ""},
192 {LOGREC_ARG, SSZ(__db_relink_args, pgno), "pgno", "%lu"},
193 {LOGREC_ARG, SSZ(__db_relink_args, new_pgno), "new_pgno", "%lu"},
194 {LOGREC_ARG, SSZ(__db_relink_args, prev_pgno), "prev_pgno", "%lu"},
195 {LOGREC_POINTER, SSZ(__db_relink_args, lsn_prev), "lsn_prev", ""},
196 {LOGREC_ARG, SSZ(__db_relink_args, next_pgno), "next_pgno", "%lu"},
197 {LOGREC_POINTER, SSZ(__db_relink_args, lsn_next), "lsn_next", ""},
198 {LOGREC_Done, 0, "", ""}
199 };
200 DB_LOG_RECSPEC __db_merge_desc[] = {
201 {LOGREC_DB, SSZ(__db_merge_args, fileid), "fileid", ""},
202 {LOGREC_ARG, SSZ(__db_merge_args, pgno), "pgno", "%lu"},
203 {LOGREC_POINTER, SSZ(__db_merge_args, lsn), "lsn", ""},
204 {LOGREC_ARG, SSZ(__db_merge_args, npgno), "npgno", "%lu"},
205 {LOGREC_POINTER, SSZ(__db_merge_args, nlsn), "nlsn", ""},
206 {LOGREC_PGDBT, SSZ(__db_merge_args, hdr), "hdr", ""},
207 {LOGREC_PGDDBT, SSZ(__db_merge_args, data), "data", ""},
208 {LOGREC_ARG, SSZ(__db_merge_args, pg_copy), "pg_copy", "%lu"},
209 {LOGREC_Done, 0, "", ""}
210 };
211 DB_LOG_RECSPEC __db_pgno_desc[] = {
212 {LOGREC_DB, SSZ(__db_pgno_args, fileid), "fileid", ""},
213 {LOGREC_ARG, SSZ(__db_pgno_args, pgno), "pgno", "%lu"},
214 {LOGREC_POINTER, SSZ(__db_pgno_args, lsn), "lsn", ""},
215 {LOGREC_ARG, SSZ(__db_pgno_args, indx), "indx", "%lu"},
216 {LOGREC_ARG, SSZ(__db_pgno_args, opgno), "opgno", "%lu"},
217 {LOGREC_ARG, SSZ(__db_pgno_args, npgno), "npgno", "%lu"},
218 {LOGREC_Done, 0, "", ""}
219 };
220 /*
221 * PUBLIC: int __db_init_recover __P((ENV *, DB_DISTAB *));
222 */
223 int
__db_init_recover(env,dtabp)224 __db_init_recover(env, dtabp)
225 ENV *env;
226 DB_DISTAB *dtabp;
227 {
228 int ret;
229
230 if ((ret = __db_add_recovery_int(env, dtabp,
231 __db_addrem_recover, DB___db_addrem)) != 0)
232 return (ret);
233 if ((ret = __db_add_recovery_int(env, dtabp,
234 __db_big_recover, DB___db_big)) != 0)
235 return (ret);
236 if ((ret = __db_add_recovery_int(env, dtabp,
237 __db_ovref_recover, DB___db_ovref)) != 0)
238 return (ret);
239 if ((ret = __db_add_recovery_int(env, dtabp,
240 __db_debug_recover, DB___db_debug)) != 0)
241 return (ret);
242 if ((ret = __db_add_recovery_int(env, dtabp,
243 __db_noop_recover, DB___db_noop)) != 0)
244 return (ret);
245 if ((ret = __db_add_recovery_int(env, dtabp,
246 __db_pg_alloc_recover, DB___db_pg_alloc)) != 0)
247 return (ret);
248 if ((ret = __db_add_recovery_int(env, dtabp,
249 __db_pg_free_recover, DB___db_pg_free)) != 0)
250 return (ret);
251 if ((ret = __db_add_recovery_int(env, dtabp,
252 __db_cksum_recover, DB___db_cksum)) != 0)
253 return (ret);
254 if ((ret = __db_add_recovery_int(env, dtabp,
255 __db_pg_freedata_recover, DB___db_pg_freedata)) != 0)
256 return (ret);
257 if ((ret = __db_add_recovery_int(env, dtabp,
258 __db_pg_init_recover, DB___db_pg_init)) != 0)
259 return (ret);
260 if ((ret = __db_add_recovery_int(env, dtabp,
261 __db_pg_trunc_recover, DB___db_pg_trunc)) != 0)
262 return (ret);
263 if ((ret = __db_add_recovery_int(env, dtabp,
264 __db_realloc_recover, DB___db_realloc)) != 0)
265 return (ret);
266 if ((ret = __db_add_recovery_int(env, dtabp,
267 __db_relink_recover, DB___db_relink)) != 0)
268 return (ret);
269 if ((ret = __db_add_recovery_int(env, dtabp,
270 __db_merge_recover, DB___db_merge)) != 0)
271 return (ret);
272 if ((ret = __db_add_recovery_int(env, dtabp,
273 __db_pgno_recover, DB___db_pgno)) != 0)
274 return (ret);
275 return (0);
276 }
277