summaryrefslogtreecommitdiff
path: root/src/include/btree.h
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2013-07-13 14:57:12 -0400
committerKeith Bostic <keith@wiredtiger.com>2013-07-13 14:57:12 -0400
commit468b5337fa75550fea99ff3f5bcd224552233b5c (patch)
tree9eb3cb4b6a4bdd13959e9d1dfd07f506179a1bfe /src/include/btree.h
parent9ef654db7852eef6fc3c54fae66caf3c134ce950 (diff)
downloadmongo-468b5337fa75550fea99ff3f5bcd224552233b5c.tar.gz
Rework the WT_REF structure child page key to support on-page keys for
row-store internal pages by storing an offset/len pair in the same space we're currently using to store the WT_IKEY reference. Use the bottom bit of the offset to flag which we're looking at (it's magic and will only work on little-endian systems, add a run-time test to ensure that is the case). This commit doesn't actually use that new functionality, it always instantiates internal page keys in WT_IKEY structures. Ref #592.
Diffstat (limited to 'src/include/btree.h')
-rw-r--r--src/include/btree.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/include/btree.h b/src/include/btree.h
index 3ef35562446..83cd1b3b257 100644
--- a/src/include/btree.h
+++ b/src/include/btree.h
@@ -9,8 +9,10 @@
#define WT_BTREE_MINOR_VERSION 0
/*
- * The maximum btree leaf and internal page size is 512MB. (The maximum of
- * 512MB is enforced by the software, it could be set as high as 4GB.)
+ * The maximum btree leaf and internal page size is 512MB (2^29). The maximum
+ * of 512MB is enforced by the software, it could be set as high as 2GB (2^31).
+ * (The limit of 31 bits is because we steal a single bit from page offsets in
+ * the WT_REF structure, see __wt_ref_key.)
*/
#define WT_BTREE_PAGE_SIZE_MAX (512 * WT_MEGABYTE)