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