summaryrefslogtreecommitdiff
path: root/src/heap/heap_auto.c
blob: 1cb705f421c0c26fb816b166b1fa0c0ace5f7e01 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* Do not edit: automatically built by gen_rec.awk. */

#include "db_config.h"
#include "db_int.h"
#include "dbinc/crypto.h"
#include "dbinc/db_page.h"
#include "dbinc/db_am.h"
#include "dbinc/heap.h"
#include "dbinc/txn.h"

DB_LOG_RECSPEC __heap_addrem_desc[] = {
	{LOGREC_ARG, SSZ(__heap_addrem_args, opcode), "opcode", "%lu"},
	{LOGREC_DB, SSZ(__heap_addrem_args, fileid), "fileid", ""},
	{LOGREC_ARG, SSZ(__heap_addrem_args, pgno), "pgno", "%lu"},
	{LOGREC_ARG, SSZ(__heap_addrem_args, indx), "indx", "%lu"},
	{LOGREC_ARG, SSZ(__heap_addrem_args, nbytes), "nbytes", "%lu"},
	{LOGREC_DBT, SSZ(__heap_addrem_args, hdr), "hdr", ""},
	{LOGREC_DBT, SSZ(__heap_addrem_args, dbt), "dbt", ""},
	{LOGREC_POINTER, SSZ(__heap_addrem_args, pagelsn), "pagelsn", ""},
	{LOGREC_Done, 0, "", ""}
};
DB_LOG_RECSPEC __heap_pg_alloc_desc[] = {
	{LOGREC_DB, SSZ(__heap_pg_alloc_args, fileid), "fileid", ""},
	{LOGREC_POINTER, SSZ(__heap_pg_alloc_args, meta_lsn), "meta_lsn", ""},
	{LOGREC_ARG, SSZ(__heap_pg_alloc_args, meta_pgno), "meta_pgno", "%lu"},
	{LOGREC_ARG, SSZ(__heap_pg_alloc_args, pgno), "pgno", "%lu"},
	{LOGREC_ARG, SSZ(__heap_pg_alloc_args, ptype), "ptype", "%lu"},
	{LOGREC_ARG, SSZ(__heap_pg_alloc_args, last_pgno), "last_pgno", "%lu"},
	{LOGREC_Done, 0, "", ""}
};
DB_LOG_RECSPEC __heap_trunc_meta_desc[] = {
	{LOGREC_DB, SSZ(__heap_trunc_meta_args, fileid), "fileid", ""},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, pgno), "pgno", "%lu"},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, last_pgno), "last_pgno", "%lu"},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, key_count), "key_count", "%lu"},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, record_count), "record_count", "%lu"},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, curregion), "curregion", "%lu"},
	{LOGREC_ARG, SSZ(__heap_trunc_meta_args, nregions), "nregions", "%lu"},
	{LOGREC_POINTER, SSZ(__heap_trunc_meta_args, pagelsn), "pagelsn", ""},
	{LOGREC_Done, 0, "", ""}
};
DB_LOG_RECSPEC __heap_trunc_page_desc[] = {
	{LOGREC_DB, SSZ(__heap_trunc_page_args, fileid), "fileid", ""},
	{LOGREC_ARG, SSZ(__heap_trunc_page_args, pgno), "pgno", "%lu"},
	{LOGREC_DBT, SSZ(__heap_trunc_page_args, old_data), "old_data", ""},
	{LOGREC_ARG, SSZ(__heap_trunc_page_args, is_region), "is_region", "%lu"},
	{LOGREC_POINTER, SSZ(__heap_trunc_page_args, pagelsn), "pagelsn", ""},
	{LOGREC_Done, 0, "", ""}
};
/*
 * PUBLIC: int __heap_init_recover __P((ENV *, DB_DISTAB *));
 */
int
__heap_init_recover(env, dtabp)
	ENV *env;
	DB_DISTAB *dtabp;
{
	int ret;

	if ((ret = __db_add_recovery_int(env, dtabp,
	    __heap_addrem_recover, DB___heap_addrem)) != 0)
		return (ret);
	if ((ret = __db_add_recovery_int(env, dtabp,
	    __heap_pg_alloc_recover, DB___heap_pg_alloc)) != 0)
		return (ret);
	if ((ret = __db_add_recovery_int(env, dtabp,
	    __heap_trunc_meta_recover, DB___heap_trunc_meta)) != 0)
		return (ret);
	if ((ret = __db_add_recovery_int(env, dtabp,
	    __heap_trunc_page_recover, DB___heap_trunc_page)) != 0)
		return (ret);
	return (0);
}