aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove allocations from read-only buckets.Ben Johnson2014-05-233-7/+101
|
* Fix freelist allocate().Ben Johnson2014-05-195-12/+16
|
* Fix freelist allocation direction.Ben Johnson2014-05-197-47/+65
| | | | | | This commit fixes the freelist so that it frees from the beginning of the data file instead of the end. It also adds a fast path for pages which can be allocated from the first free pages and it includes read transaction stats.
* Merge pull request #166 from benbjohnson/fill-percentBen Johnson2014-05-155-7/+32
|\ | | | | Add option to adjust fill percentage.
| * Change verbiage, fix node test.Ben Johnson2014-05-152-6/+6
| |
| * Add option to adjust fill percentage.Ben Johnson2014-05-154-3/+28
|/ | | | | | | | | | 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 pull request #165 from benbjohnson/strict-modeBen Johnson2014-05-153-63/+134
|\ | | | | Add strict mode.
| * Add strict mode.Ben Johnson2014-05-143-63/+134
|/
* Merge pull request #162 from Shopify/nested_stats2Ben Johnson2014-05-145-48/+395
|\ | | | | Recursive/aggregate bucket stats
| * Minor stats fixes.Ben Johnson2014-05-142-12/+42
| |
| * address review commentsMartin Kobetic2014-05-133-16/+70
| |
| * undo page.go changesMartin Kobetic2014-05-121-2/+2
| |
| * add inline stats to cmdMartin Kobetic2014-05-121-0/+8
| |
| * tweaksMartin Kobetic2014-05-122-9/+15
| |
| * merge inline branch into leaf branchMartin Kobetic2014-05-122-23/+54
| |
| * fix inline bucket statsMartin Kobetic2014-05-122-51/+83
| |
| * aggregate bucket stats recursively and add stats to cmdMartin Kobetic2014-05-095-16/+107
| |
| * first partMartin Kobetic2014-05-094-7/+102
| |
* | Merge pull request #161 from benbjohnson/workBen Johnson2014-05-122-1/+9
|\ \ | |/ |/| Add -work flag to 'bolt bench'.
| * Add -work flag to 'bolt bench'.Ben Johnson2014-05-122-1/+9
|/ | | | | This commit adds a 'work' flag to the bolt bench utility so that databases generated by the bench CLI can be saved for analysis.
* Merge pull request #160 from benbjohnson/fix-deletionBen Johnson2014-05-093-19/+38
|\ | | | | Fix deletion & dereferencing.
| * Merge branch 'master' of https://github.com/boltdb/bolt into fix-deletionBen Johnson2014-05-097-5/+79
| |\ | |/ |/| | | | | Conflicts: node.go
* | Fix node unit tests.Ben Johnson2014-05-091-5/+5
| |
* | Merge pull request #159 from Shopify/pgid_overflow_checksBen Johnson2014-05-093-0/+9
|\ \ | | | | | | add asserts for detecting pgid high watermark overflow
| * | remove stray fileMartin Kobetic2014-05-091-54/+0
| | |
| * | add asserts for detecting pgid high watermark overflowMartin Kobetic2014-05-094-0/+63
|/ /
* | Merge pull request #158 from benbjohnson/bolt-infoBen Johnson2014-05-083-0/+66
|\ \ | | | | | | Add 'bolt info'.
| * | Add 'bolt info'.Ben Johnson2014-05-083-0/+66
|/ /
| * Fix deletion reclamation.Ben Johnson2014-05-093-19/+39
|/
* Merge pull request #154 from benbjohnson/inline-bucketsBen Johnson2014-05-077-54/+273
|\ | | | | (wip) Add inline bucket support.
| * Minor fixes.Ben Johnson2014-05-071-1/+1
| |
| * Improve bucket code documentation.Ben Johnson2014-05-071-11/+14
| |
| * Fix bucket free.Ben Johnson2014-05-075-6/+82
| |
| * Add inline bucket support.Ben Johnson2014-05-057-49/+189
|/ | | | | | | | | | | | | | | 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.
* Merge pull request #153 from benbjohnson/consolidateBen Johnson2014-05-0510-139/+120
|\ | | | | Consolidate code for clarity.
| * Consolidate code for clarity.Ben Johnson2014-05-0510-139/+120
|/ | | | | | This commit consolidates some of the smaller files into some of the larger files. The smaller files cluttered the file tree and made it harder to see the logical groupings of structs.
* Merge pull request #152 from benbjohnson/remove-bolt-setBen Johnson2014-05-053-87/+0
|\ | | | | Remove 'bolt set'.
| * Remove 'bolt set'.Ben Johnson2014-05-053-87/+0
|/ | | | | This commit removes the 'set' command in the Bolt CLI. It proved to not be very useful so there's no point in keeping the extra code around.
* Merge pull request #151 from benbjohnson/remove-cBen Johnson2014-05-053-732/+0
|\ | | | | Remove the c package
| * Remove the c package.Ben Johnson2014-05-053-732/+0
|/ | | | | The CGO binding from an external package did not work as well as hoped. The C code has been moved to the project which uses it.
* Merge pull request #150 from tv42/typo-seekBen Johnson2014-05-041-1/+2
|\ | | | | Fix Cursor.Seek to say caller should test key==nil not value==nil, explain what value==nil really means these days
| * Document cursors seeing nested bucketsTommi Virtanen2014-05-041-0/+1
| |
| * Cursor.Seek validity is indicated by key being nilTommi Virtanen2014-05-041-1/+1
|/
* Merge pull request #148 from benbjohnson/split-spillBen Johnson2014-05-036-132/+240
|\ | | | | Refactor split/spill
| * Refactor split/spill.Ben Johnson2014-05-036-132/+240
|/
* Merge pull request #147 from benbjohnson/statsBen Johnson2014-05-012-23/+61
|\ | | | | Add streaming stats to bolt bench.
| * Add streaming stats to bolt bench.Ben Johnson2014-04-302-23/+61
|/ | | | | | This commit adds -stats-interval to the 'bolt bench' utility. By setting this argument to an interval greater than 0s, the benchmark tool will output stats as streaming JSON. This data can, in turn, be graphed to understand performance over time.
* Merge pull request #146 from benbjohnson/bench-batchBen Johnson2014-04-302-12/+41
|\ | | | | Add --batch-size to 'bolt bench'
| * Merge branch 'bench-batch' into moar_benchBen Johnson2014-04-307-15/+60
| |\ | | | | | | | | | | | | Conflicts: cmd/bolt/bench.go
| | * Add --batch-size to 'bolt bench'.Ben Johnson2014-04-292-11/+33
| |/ |/| | | | | | | | | | | | | This commit adds a --batch-size CLI argument to the 'bolt bench' tool. This argument will insert into Bolt in smaller batches which is a more typical use case. /cc @snormore