diff options
Diffstat (limited to 'bdb/btree/btree.src')
-rw-r--r-- | bdb/btree/btree.src | 158 |
1 files changed, 35 insertions, 123 deletions
diff --git a/bdb/btree/btree.src b/bdb/btree/btree.src index a1eba7d7fc7..73f4abac874 100644 --- a/bdb/btree/btree.src +++ b/bdb/btree/btree.src @@ -1,13 +1,14 @@ /*- * See the file LICENSE for redistribution information. * - * Copyright (c) 1996, 1997, 1998, 1999, 2000 + * Copyright (c) 1996-2002 * Sleepycat Software. All rights reserved. * - * $Id: btree.src,v 10.26 2000/12/12 17:40:23 bostic Exp $ + * $Id: btree.src,v 10.35 2002/04/17 19:02:56 krinsky Exp $ */ -PREFIX bam +PREFIX __bam +DBPRIVATE INCLUDE #include "db_config.h" INCLUDE @@ -15,69 +16,23 @@ INCLUDE #ifndef NO_SYSTEM_INCLUDES INCLUDE #include <sys/types.h> INCLUDE INCLUDE #include <ctype.h> -INCLUDE #include <errno.h> INCLUDE #include <string.h> INCLUDE #endif INCLUDE INCLUDE #include "db_int.h" -INCLUDE #include "db_page.h" -INCLUDE #include "db_dispatch.h" -INCLUDE #include "db_am.h" -INCLUDE #include "btree.h" -INCLUDE #include "txn.h" +INCLUDE #include "dbinc/crypto.h" +INCLUDE #include "dbinc/db_page.h" +INCLUDE #include "dbinc/db_dispatch.h" +INCLUDE #include "dbinc/db_am.h" +INCLUDE #include "dbinc/btree.h" +INCLUDE #include "dbinc/log.h" +INCLUDE #include "dbinc/rep.h" +INCLUDE #include "dbinc/txn.h" INCLUDE /* - * BTREE-pg_alloc: used to record allocating a new page. - * - * meta_lsn: the meta-data page's original lsn. - * page_lsn: the allocated page's original lsn. - * pgno: the page allocated. - * next: the next page on the free list. + * NOTE: pg_alloc and pg_free have been moved to db.src, where they belong. */ -BEGIN pg_alloc 51 -ARG fileid int32_t ld -POINTER meta_lsn DB_LSN * lu -POINTER page_lsn DB_LSN * lu -ARG pgno db_pgno_t lu -ARG ptype u_int32_t lu -ARG next db_pgno_t lu -END - -DEPRECATED pg_alloc1 60 -ARG fileid int32_t ld -POINTER meta_lsn DB_LSN * lu -POINTER alloc_lsn DB_LSN * lu -POINTER page_lsn DB_LSN * lu -ARG pgno db_pgno_t lu -ARG ptype u_int32_t lu -ARG next db_pgno_t lu -END - -/* - * BTREE-pg_free: used to record freeing a page. - * - * pgno: the page being freed. - * meta_lsn: the meta-data page's original lsn. - * header: the header from the free'd page. - * next: the previous next pointer on the metadata page. - */ -BEGIN pg_free 52 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu -POINTER meta_lsn DB_LSN * lu -DBT header DBT s -ARG next db_pgno_t lu -END - -DEPRECATED pg_free1 61 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu -POINTER meta_lsn DB_LSN * lu -POINTER alloc_lsn DB_LSN * lu -DBT header DBT s -ARG next db_pgno_t lu -END /* * BTREE-split: used to log a page split. @@ -89,46 +44,21 @@ END * indx: the number of entries that went to the left page. * npgno: the next page number * nlsn: the next page's original LSN (or 0 if no next page). - * pg: the split page's contents before the split. - */ -DEPRECATED split1 53 -ARG fileid int32_t ld -ARG left db_pgno_t lu -POINTER llsn DB_LSN * lu -ARG right db_pgno_t lu -POINTER rlsn DB_LSN * lu -ARG indx u_int32_t lu -ARG npgno db_pgno_t lu -POINTER nlsn DB_LSN * lu -DBT pg DBT s -END - -/* - * BTREE-split: used to log a page split. - * - * left: the page number for the low-order contents. - * llsn: the left page's original LSN. - * right: the page number for the high-order contents. - * rlsn: the right page's original LSN. - * indx: the number of entries that went to the left page. - * npgno: the next page number - * npgno: the next page number - * nlsn: the next page's original LSN (or 0 if no next page). * root_pgno: the root page number * pg: the split page's contents before the split. * opflags: SPL_NRECS: if splitting a tree that maintains a record count. */ BEGIN split 62 -ARG fileid int32_t ld -ARG left db_pgno_t lu +DB fileid int32_t ld +WRLOCK left db_pgno_t lu POINTER llsn DB_LSN * lu -ARG right db_pgno_t lu +WRLOCK right db_pgno_t lu POINTER rlsn DB_LSN * lu ARG indx u_int32_t lu ARG npgno db_pgno_t lu POINTER nlsn DB_LSN * lu -ARG root_pgno db_pgno_t lu -DBT pg DBT s +WRLOCKNZ root_pgno db_pgno_t lu +PGDBT pg DBT s ARG opflags u_int32_t lu END @@ -137,34 +67,16 @@ END * * pgno: the page number of the page copied over the root. * pgdbt: the page being copied on the root page. - * nrec: the tree's record count. - * rootent: last entry on the root page. - * rootlsn: the root page's original lsn. - */ -DEPRECATED rsplit1 54 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu -DBT pgdbt DBT s -ARG nrec db_pgno_t lu -DBT rootent DBT s -POINTER rootlsn DB_LSN * lu -END - -/* - * BTREE-rsplit: used to log a reverse-split - * - * pgno: the page number of the page copied over the root. - * pgdbt: the page being copied on the root page. * root_pgno: the root page number. * nrec: the tree's record count. * rootent: last entry on the root page. * rootlsn: the root page's original lsn. */ BEGIN rsplit 63 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu -DBT pgdbt DBT s -ARG root_pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK pgno db_pgno_t lu +PGDBT pgdbt DBT s +WRLOCK root_pgno db_pgno_t lu ARG nrec db_pgno_t lu DBT rootent DBT s POINTER rootlsn DB_LSN * lu @@ -180,8 +92,8 @@ END * is_insert: 0 if a delete, 1 if an insert. */ BEGIN adj 55 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK pgno db_pgno_t lu POINTER lsn DB_LSN * lu ARG indx u_int32_t lu ARG indx_copy u_int32_t lu @@ -198,8 +110,8 @@ END * opflags: CAD_UPDATEROOT: if root page count was adjusted. */ BEGIN cadjust 56 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK pgno db_pgno_t lu POINTER lsn DB_LSN * lu ARG indx u_int32_t lu ARG adjust int32_t ld @@ -214,8 +126,8 @@ END * indx: the index to be deleted. */ BEGIN cdel 57 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK pgno db_pgno_t lu POINTER lsn DB_LSN * lu ARG indx u_int32_t lu END @@ -230,8 +142,8 @@ END * duplicate: the prefix of the replacement that matches the original. */ BEGIN repl 58 -ARG fileid int32_t ld -ARG pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK pgno db_pgno_t lu POINTER lsn DB_LSN * lu ARG indx u_int32_t lu ARG isdeleted u_int32_t lu @@ -245,9 +157,9 @@ END * BTREE-root: log the assignment of a root btree page. */ BEGIN root 59 -ARG fileid int32_t ld -ARG meta_pgno db_pgno_t lu -ARG root_pgno db_pgno_t lu +DB fileid int32_t ld +WRLOCK meta_pgno db_pgno_t lu +WRLOCK root_pgno db_pgno_t lu POINTER meta_lsn DB_LSN * lu END @@ -260,7 +172,7 @@ END */ BEGIN curadj 64 /* Fileid of db affected. */ -ARG fileid int32_t ld +DB fileid int32_t ld /* Which adjustment. */ ARG mode db_ca_mode ld /* Page entry is from. */ @@ -284,7 +196,7 @@ END */ BEGIN rcuradj 65 /* Fileid of db affected. */ -ARG fileid int32_t ld +DB fileid int32_t ld /* Which adjustment. */ ARG mode ca_recno_arg ld /* Root page number. */ |