aboutsummaryrefslogtreecommitdiff
path: root/node.go
diff options
context:
space:
mode:
authorBen Johnson <benbjohnson@yahoo.com>2014-05-15 14:25:29 -0600
committerBen Johnson <benbjohnson@yahoo.com>2014-05-15 14:25:29 -0600
commitcc6302194b6134806669cbeafcaf799fa0ea040c (patch)
tree7ca8faaae8099222c0c7964eee3e0a95dea5bd51 /node.go
parentMerge pull request #165 from benbjohnson/strict-mode (diff)
parentChange verbiage, fix node test. (diff)
downloaddedo-cc6302194b6134806669cbeafcaf799fa0ea040c.tar.gz
dedo-cc6302194b6134806669cbeafcaf799fa0ea040c.tar.xz
Merge pull request #166 from benbjohnson/fill-percent
Add option to adjust fill percentage.
Diffstat (limited to 'node.go')
-rw-r--r--node.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/node.go b/node.go
index 5ad581e..e345d7f 100644
--- a/node.go
+++ b/node.go
@@ -215,8 +215,14 @@ func (n *node) split(pageSize int) []*node {
return nodes
}
- // Set fill threshold to 50%.
- threshold := pageSize / 2
+ // Determine the threshold before starting a new node.
+ var fillPercent = n.bucket.tx.db.FillPercent
+ if fillPercent < minFillPercent {
+ fillPercent = minFillPercent
+ } else if fillPercent > maxFillPercent {
+ fillPercent = maxFillPercent
+ }
+ threshold := int(float64(pageSize) * fillPercent)
// Group into smaller pages and target a given fill size.
size := pageHeaderSize