aboutsummaryrefslogtreecommitdiff
path: root/node.go (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add option to adjust fill percentage.Ben Johnson2014-05-151-2/+8
| | | | | | | | | | 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.
* Merge branch 'master' of https://github.com/boltdb/bolt into fix-deletionBen Johnson2014-05-091-0/+3
|\ | | | | | | | | Conflicts: node.go
| * add asserts for detecting pgid high watermark overflowMartin Kobetic2014-05-091-0/+4
| |
* | Fix deletion reclamation.Ben Johnson2014-05-091-13/+36
|/
* Fix bucket free.Ben Johnson2014-05-071-1/+11
|
* Add inline bucket support.Ben Johnson2014-05-051-2/+32
| | | | | | | | | | | | | | | 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.
* Refactor split/spill.Ben Johnson2014-05-031-18/+123
|
* Add nested buckets.Ben Johnson2014-04-111-27/+23
| | | | | | | This commit adds the ability to create buckets inside of other buckets. It also replaces the buckets page with a root bucket. Fixes #56.
* Add performance counters.Ben Johnson2014-04-021-0/+3
| | | | | | | | | | | | 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.
* Add DB.Check().Ben Johnson2014-03-291-0/+10
|
* Consolidate Tx and RWTx.Ben Johnson2014-03-081-1/+1
|
* Rename Transaction to Tx.Ben Johnson2014-03-081-20/+20
| | | | | 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.
* Revert "Refactor Transaction/Bucket API."Ben Johnson2014-02-221-1/+1
| | | | This reverts commit 1ad2b99f281d587b767b36f886401e81d17915a9.
* Refactor Transaction/Bucket API.Ben Johnson2014-02-211-1/+1
|
* Read-only transactional block.Ben Johnson2014-02-161-1/+1
|
* API Documentation.Ben Johnson2014-02-131-6/+6
|
* Mmap remap.Ben Johnson2014-02-121-4/+20
|
* Cursor iteration.Ben Johnson2014-02-111-0/+4
|
* Add freelist.Ben Johnson2014-02-101-12/+8
|
* Rebalance after deletion.Ben Johnson2014-02-081-2/+161
|
* Refactor node lookup.Ben Johnson2014-02-071-1/+8
|
* Fix multi-put transaction.Ben Johnson2014-02-061-1/+1
|
* Fix quick tests.Ben Johnson2014-02-051-5/+7
|
* Add RWTransaction.Delete().Ben Johnson2014-02-031-0/+14
|
* Add RWTransaction.Put().Ben Johnson2014-02-011-0/+178
|
* TODOBen Johnson2014-01-241-40/+0
|
* TODOBen Johnson2014-01-241-0/+10
|
* Intermediate commit.Ben Johnson2014-01-211-0/+30
|
* Refactoring to RWCursor, RWTxn, and branch/leaf nodes and pages.Ben Johnson2014-01-171-91/+0
|
* Initial db.open.Ben Johnson2014-01-111-38/+38
|
* Move all C code into repo.Ben Johnson2014-01-091-0/+51
|
* Basic types.Ben Johnson2014-01-081-0/+40