aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add 'Intro to BoltDB' link.Ben Johnson2014-07-071-0/+6
| |
| * Add freelist cache.Ben Johnson2014-06-305-45/+67
|/ | | | | | This commit adds a cache to the freelist which combines the available free pages and pending free pages in a single map. This was added to improve performance where freelist.isFree() was consuming 70% of CPU time for large freelists.
* Merge pull request #214 from Shopify/fix_stats_subBen Johnson2014-06-272-0/+8
|\ | | | | Copy the free pages stats from the receiver
| * Copy the free pages stats from the receiverMartin Kobetic2014-06-272-0/+8
|/
* Minor fix.Ben Johnson2014-06-241-1/+1
|
* Merge pull request #213 from Shopify/stats_sub2Ben Johnson2014-06-241-11/+3
|\ | | | | Drop the *s guard in Stats.Sub()
| * review tweaksMartin Kobetic2014-06-241-3/+3
| |
| * drop the *s guardMartin Kobetic2014-06-241-9/+1
|/
* Merge pull request #212 from Shopify/stats_subBen Johnson2014-06-241-0/+12
|\ | | | | Improve Stats.Sub()
| * review tweaksMartin Kobetic2014-06-241-1/+5
| |
| * add some guards for nil pointersMartin Kobetic2014-06-241-2/+9
| |
| * copy receiver stats in Stats.Sub()Martin Kobetic2014-06-241-1/+2
|/
* Merge pull request #210 from benbjohnson/default-optionsBen Johnson2014-06-225-72/+78
|\ | | | | Add DefaultOptions variable.
| * Add DefaultOptions variable.Ben Johnson2014-06-225-72/+78
|/ | | | | | | | | This commit adds an explicit DefaultOptions variable for additional documentation. Open() can still be passed a nil options which will cause options to be change to the DefaultOptions variable. This change also allows options to be set globally for an application if more than one database is being opened in a process. This commit also moves all errors to errors.go so that the godoc groups them together.
* Merge pull request #208 from benbjohnson/open-timeoutBen Johnson2014-06-2220-132/+172
|\ | | | | Add Open() options, flock timeout.
| * Add Open() options, flock timeout.Ben Johnson2014-06-2120-132/+172
| | | | | | | | | | | | | | | | This commit changes Open() to provide an additional Options argument. The options argument currently only has a Timeout which will cause the Open() to return ErrTimeout if a file lock cannot be obtained in time. Fixes #207.
* | Merge pull request #209 from benbjohnson/next-seq-uint64Ben Johnson2014-06-222-35/+6
|\ \ | |/ |/| Change Bucket.NextSequence() to return uint64
| * Change Bucket.NextSequence() to return uint64.Ben Johnson2014-06-222-35/+6
|/ | | | | | | This commit changes NextSequence() to return a uint64 instead of an int. This also removes the ErrSequenceOverflow error condition since overflowing a uint64 is unlikely. Fixes #39.
* Merge pull request #206 from Shopify/pending_page_statsBen Johnson2014-06-204-6/+20
|\ | | | | Split the freelist page count stats to free and pending
| * split the freelist page count stats to free and pendingMartin Kobetic2014-06-204-6/+20
|/
* Merge pull request #202 from benbjohnson/refactor-splitBen Johnson2014-06-194-30/+52
|\ | | | | Fix split-merge regression.
| * Fix merge-split regression.Ben Johnson2014-06-184-30/+52
| | | | | | | | | | | | | | 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.
* | Merge pull request #200 from benbjohnson/fix-i686Ben Johnson2014-06-181-4/+4
|\ \ | |/ |/| Fix i686 build error.
| * Fix i686 build error.Ben Johnson2014-06-181-4/+4
| |
* | Merge pull request #201 from Shopify/freelist_stats_cleanupBen Johnson2014-06-183-5/+7
|\ \ | |/ |/| Fix up freelist stats naming and add FreeAlloc
| * fix up freelist stats naming and add FreeAllocMartin Kobetic2014-06-183-5/+7
|/
* Merge pull request #199 from kardianos/patch-1Ben Johnson2014-06-181-0/+1
|\ | | | | Update README.md
| * Update README.mdDaniel Theophanes2014-06-181-0/+1
|/
* Merge pull request #198 from yosssi/patch-1Ben Johnson2014-06-181-0/+1
|\ | | | | Add "BoltStore" link on README.md
| * Add "BoltStore" link on README.mdKeiji Yoshida2014-06-181-0/+1
|/ | | I completed creating [BoltStore](https://github.com/yosssi/boltstore) and added its link on README.md.
* Merge pull request #197 from Shopify/freelist_statsBen Johnson2014-06-174-3/+23
|\ | | | | Add freelist stats to db stats
| * drop mergeStats and move freelist stats update to TxMartin Kobetic2014-06-172-12/+14
| |
| * add freelist stats to db statsMartin Kobetic2014-06-174-11/+29
|/
* Document key/value lifecycle.Ben Johnson2014-06-161-2/+6
| | | | This commit adds a caveat to the godoc that explains how key and value byte slices will only be valid for the life of the transaction.
* Merge pull request #193 from benbjohnson/check-freelist-overflowBen Johnson2014-06-133-11/+64
|\ | | | | Check for freelist overflow
| * Fix freelist rollback.Ben Johnson2014-06-133-10/+44
| |
| * Check for freelist overflow.Ben Johnson2014-06-132-2/+21
| |
* | Merge pull request #194 from benbjohnson/fix-deadlockBen Johnson2014-06-131-5/+9
|\ \ | |/ |/| Fix deadlock on remmap.
| * Fix deadlock on remmap.Ben Johnson2014-06-131-5/+9
|/ | | | | This commit fixes a deadlock situation that can occur when Bolt's database size crosses a threshold and requires remapping the mmap.
* Merge pull request #191 from benbjohnson/win-ftwBen Johnson2014-06-139-29/+190
|\ | | | | Windows Support
| * Remove errcheck.Ben Johnson2014-06-121-1/+1
| |
| * Add Windows support.Ben Johnson2014-06-127-41/+97
| | | | | | | | | | This commit adds Windows support to Bolt. Windows memory maps return an address instead of a byte slice so the DB.data field had to be refactored to be a pointer to a large byte array.
| * Add Windows support.Ben Johnson2014-06-115-18/+123
| |
* | Merge pull request #190 from Shopify/cursor_deleteBen Johnson2014-06-122-0/+59
|\ \ | |/ |/| Add Cursor.Delete()
| * add Cursor.Delete()Martin Kobetic2014-06-112-0/+59
|/
* Merge pull request #189 from benbjohnson/increase-max-nodes-per-pageBen Johnson2014-06-101-5/+4
|\ | | | | Increase max nodes per page.
| * Increase max nodes per page.Ben Johnson2014-06-101-5/+4
|/ | | | | | | | This commit changes the maxNodesPerPage constant so that it is essentially unlimited. Previously, a single large transaction could create more nodes than the mock array could handle. Fixes #188.
* Merge pull request #187 from benbjohnson/fix-seekBen Johnson2014-06-092-22/+87
|\ | | | | Fix in-between page seek
| * Refactor Cursor.Next() to use Cursor.next().Ben Johnson2014-06-091-23/+1
| |
| * Add seek forward test.Ben Johnson2014-06-091-0/+52
| |