2 * See the file LICENSE for redistribution information.
4 * Copyright (c) 1996, 1997, 1998
5 * Sleepycat Software. All rights reserved.
7 * @(#)db.src 10.6 (Sleepycat) 4/28/98
13 * addrem -- Add or remove an entry from a duplicate page.
15 * opcode: identifies if this is an add or delete.
16 * fileid: file identifier of the file being modified.
17 * pgno: duplicate page number.
18 * indx: location at which to insert or delete.
19 * nbytes: number of bytes added/removed to/from the page.
20 * hdr: header for the data item.
21 * dbt: data that is deleted or is to be added.
22 * pagelsn: former lsn of the page.
24 * If the hdr was NULL then, the dbt is a regular B_KEYDATA.
25 * If the dbt was NULL then the hdr is a complete item to be
29 ARG opcode u_int32_t lu
30 ARG fileid u_int32_t lu
36 POINTER pagelsn DB_LSN * lu
40 * split -- Handles the split of a duplicate page.
42 * opcode: defines whether we are splitting from or splitting onto
43 * fileid: file identifier of the file being modified.
44 * pgno: page number being split.
45 * pageimage: entire page contents.
46 * pagelsn: former lsn of the page.
49 ARG opcode u_int32_t lu
50 ARG fileid u_int32_t lu
53 POINTER pagelsn DB_LSN * lu
57 * big -- Handles addition and deletion of big key/data items.
59 * opcode: identifies get/put.
60 * fileid: file identifier of the file being modified.
61 * pgno: page onto which data is being added/removed.
62 * prev_pgno: the page before the one we are logging.
63 * next_pgno: the page after the one we are logging.
64 * dbt: data being written onto the page.
65 * pagelsn: former lsn of the orig_page.
66 * prevlsn: former lsn of the prev_pgno.
67 * nextlsn: former lsn of the next_pgno. This is not currently used, but
68 * may be used later if we actually do overwrites of big key/
69 * data items in place.
72 ARG opcode u_int32_t lu
73 ARG fileid u_int32_t lu
75 ARG prev_pgno db_pgno_t lu
76 ARG next_pgno db_pgno_t lu
78 POINTER pagelsn DB_LSN * lu
79 POINTER prevlsn DB_LSN * lu
80 POINTER nextlsn DB_LSN * lu
84 * ovref -- Handles increment/decrement of overflow page reference count.
86 * fileid: identifies the file being modified.
87 * pgno: page number whose ref count is being incremented/decremented.
88 * adjust: the adjustment being made.
89 * lsn: the page's original lsn.
92 ARG fileid u_int32_t lu
95 POINTER lsn DB_LSN * lu
99 * relink -- Handles relinking around a page.
101 * pgno: the page being changed.
102 * lsn the page's original lsn.
103 * prev: the previous page.
104 * lsn_prev: the previous page's original lsn.
105 * next: the next page.
106 * lsn_next: the previous page's original lsn.
109 ARG fileid u_int32_t lu
110 ARG pgno db_pgno_t lu
111 POINTER lsn DB_LSN * lu
112 ARG prev db_pgno_t lu
113 POINTER lsn_prev DB_LSN * lu
114 ARG next db_pgno_t lu
115 POINTER lsn_next DB_LSN * lu
119 * Addpage -- Handles adding a new duplicate page onto the end of
120 * an existing duplicate page.
121 * fileid: identifies the file being changed.
122 * pgno: page number to which a new page is being added.
124 * nextpgno: new page number being added.
125 * nextlsn: lsn of nextpgno;
128 ARG fileid u_int32_t lu
129 ARG pgno db_pgno_t lu
130 POINTER lsn DB_LSN * lu
131 ARG nextpgno db_pgno_t lu
132 POINTER nextlsn DB_LSN * lu
136 * Debug -- log an operation upon entering an access method.
137 * op: Operation (cursor, c_close, c_get, c_put, c_del,
139 * fileid: identifies the file being acted upon.
141 * data: data parameter
142 * flags: flags parameter
146 ARG fileid u_int32_t lu
149 ARG arg_flags u_int32_t lu
153 * noop -- do nothing, but get an LSN.
156 ARG fileid u_int32_t lu
157 ARG pgno db_pgno_t lu
158 POINTER prevlsn DB_LSN * lu