| Commit message (Expand) | Author | Age | Files | Lines |
| * | Fix merge-split regression.•••This commit reverts merge-split and fixes the node.split() to do a multi-page split. This issue
caused problems with bulk loading because it would split into a small page and a very large page.
The very large page, in turn, would be an arbitrary size so when it was freed later it would be
difficult to reuse and would cause serious fragmentation issues.
| Ben Johnson | 2014-06-18 | 1 | -17/+32 |
| * | Fix double free in merge-left rebalance.•••This commit fixes a bug where deletions that caused merge-left rebalances were updating
the parent node which caused a node to "reappear" even after it had been deleted. This was
fixed in merge-right rebalances a while ago but merge-left is less frequent so it was
missed until now.
Many thanks to Jordan Sherer (@jsherer) for finding and reporting the bug.
| Ben Johnson | 2014-06-06 | 1 | -1/+0 |
| * | Fix merge-split spill issues. | Ben Johnson | 2014-06-03 | 1 | -10/+24 |
| * | Allow split nodes to be merged with the next node.•••This commit changes the node.split() functionality to check if the next node has
available space and, if so, it will merge the newly split keys into the next node.
Previously, keys could be continually put into the left side of a split causing that
first half to split off small right side nodes. This was especially problematic with
databases with a high fill percent.
| Ben Johnson | 2014-06-02 | 1 | -34/+49 |
| * | Add circular dependency integrity check.•••This commit adds a check to prevent circular dependencies in branch nodes. If a circular dependency occurs
then a panic will be called and the commit will be prevented. This only works for a single branch level
and will not recursively search the tree.
| Ben Johnson | 2014-05-28 | 1 | -0/+1 |
| * | Add option to adjust fill percentage.•••This commit adds the ability to adjust the fill percentage for splitting nodes. This
works by setting a threshold that is a percentage of a total page size. When that
threshold is crossed during a split then a new node is created.
This is primarily beneficial for append-only workloads.
Fixes #163.
| Ben Johnson | 2014-05-15 | 1 | -2/+8 |
| * | Merge branch 'master' of https://github.com/boltdb/bolt into fix-deletion•••Conflicts:
node.go
| Ben Johnson | 2014-05-09 | 1 | -0/+3 |
| |\ |
|
| | * | add asserts for detecting pgid high watermark overflow | Martin Kobetic | 2014-05-09 | 1 | -0/+4 |
| * | | Fix deletion reclamation. | Ben Johnson | 2014-05-09 | 1 | -13/+36 |
| |/ |
|
| * | Fix bucket free. | Ben Johnson | 2014-05-07 | 1 | -1/+11 |
| * | Add inline bucket support.•••This commit adds support for writing small buckets directly inline to their value in
their parent's leaf node. Previously, subbuckets would simply have a bucket header
stored in their parent bucket which pointed to the root page. This required that
every bucket use at least a single page. This has a high overhead for buckets with
only one or two small items.
Inline buckets checks subbuckets to see if they only have a small amount of data
(about 1kb) and no subbuckets. If these conditions are met then the bucket's root
node is written to a fake page which is simply a pointer to the end of the bucket's
header.
Fixes #124.
| Ben Johnson | 2014-05-05 | 1 | -2/+32 |
| * | Refactor split/spill. | Ben Johnson | 2014-05-03 | 1 | -18/+123 |
| * | Add nested buckets.•••This commit adds the ability to create buckets inside of other buckets.
It also replaces the buckets page with a root bucket.
Fixes #56.
| Ben Johnson | 2014-04-11 | 1 | -27/+23 |
| * | Add performance counters.•••This commit adds performance counters for each transaction which are rolled
up to the database level on each commit/rollback. Counters are meant to be
a very fast way to track what is going on in the database. A few timers are
also added in areas where the time.Now() overhead is not noticible.
The DB.Stat() function is now deprecated since the `bolt` CLI now performs
similar functions.
Fixes #108.
| Ben Johnson | 2014-04-02 | 1 | -0/+3 |
| * | Add DB.Check(). | Ben Johnson | 2014-03-29 | 1 | -0/+10 |
| * | Consolidate Tx and RWTx. | Ben Johnson | 2014-03-08 | 1 | -1/+1 |
| * | Rename Transaction to Tx.•••I changed the Transaction/RWTransaction types to Tx/RWTx, respectively. This makes the naming
more consistent with other packages such as database/sql. The txnid is changed to txid as well.
| Ben Johnson | 2014-03-08 | 1 | -20/+20 |
| * | Revert "Refactor Transaction/Bucket API."•••This reverts commit 1ad2b99f281d587b767b36f886401e81d17915a9.
| Ben Johnson | 2014-02-22 | 1 | -1/+1 |
| * | Refactor Transaction/Bucket API. | Ben Johnson | 2014-02-21 | 1 | -1/+1 |
| * | Read-only transactional block. | Ben Johnson | 2014-02-16 | 1 | -1/+1 |
| * | API Documentation. | Ben Johnson | 2014-02-13 | 1 | -6/+6 |
| * | Mmap remap. | Ben Johnson | 2014-02-12 | 1 | -4/+20 |
| * | Cursor iteration. | Ben Johnson | 2014-02-11 | 1 | -0/+4 |
| * | Add freelist. | Ben Johnson | 2014-02-10 | 1 | -12/+8 |
| * | Rebalance after deletion. | Ben Johnson | 2014-02-08 | 1 | -2/+161 |
| * | Refactor node lookup. | Ben Johnson | 2014-02-07 | 1 | -1/+8 |
| * | Fix multi-put transaction. | Ben Johnson | 2014-02-06 | 1 | -1/+1 |
| * | Fix quick tests. | Ben Johnson | 2014-02-05 | 1 | -5/+7 |
| * | Add RWTransaction.Delete(). | Ben Johnson | 2014-02-03 | 1 | -0/+14 |
| * | Add RWTransaction.Put(). | Ben Johnson | 2014-02-01 | 1 | -0/+178 |
| * | TODO | Ben Johnson | 2014-01-24 | 1 | -40/+0 |
| * | TODO | Ben Johnson | 2014-01-24 | 1 | -0/+10 |
| * | Intermediate commit. | Ben Johnson | 2014-01-21 | 1 | -0/+30 |
| * | Refactoring to RWCursor, RWTxn, and branch/leaf nodes and pages. | Ben Johnson | 2014-01-17 | 1 | -91/+0 |
| * | Initial db.open. | Ben Johnson | 2014-01-11 | 1 | -38/+38 |
| * | Move all C code into repo. | Ben Johnson | 2014-01-09 | 1 | -0/+51 |
| * | Basic types. | Ben Johnson | 2014-01-08 | 1 | -0/+40 |