aboutsummaryrefslogtreecommitdiff
path: root/cursor_test.go (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-05-19Fix freelist allocate().Ben Johnson5-12/+16
2014-05-19Fix freelist allocation direction.Ben Johnson7-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.
2014-05-15Change verbiage, fix node test.Ben Johnson2-6/+6
2014-05-15Add option to adjust fill percentage.Ben Johnson4-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.
2014-05-14Add strict mode.Ben Johnson3-63/+134
2014-05-14Minor stats fixes.Ben Johnson2-12/+42
2014-05-13address review commentsMartin Kobetic3-16/+70
2014-05-12Add -work flag to 'bolt bench'.Ben Johnson2-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.
2014-05-12undo page.go changesMartin Kobetic1-2/+2
2014-05-12add inline stats to cmdMartin Kobetic1-0/+8
2014-05-12tweaksMartin Kobetic2-9/+15
2014-05-12merge inline branch into leaf branchMartin Kobetic2-23/+54
2014-05-12fix inline bucket statsMartin Kobetic2-51/+83
2014-05-09aggregate bucket stats recursively and add stats to cmdMartin Kobetic5-16/+107
2014-05-09first partMartin Kobetic4-7/+102
2014-05-09Fix deletion reclamation.Ben Johnson3-19/+39
2014-05-09Fix node unit tests.Ben Johnson1-5/+5
2014-05-09remove stray fileMartin Kobetic1-54/+0
2014-05-09add asserts for detecting pgid high watermark overflowMartin Kobetic4-0/+63
2014-05-08Add 'bolt info'.Ben Johnson3-0/+66
2014-05-07Minor fixes.Ben Johnson1-1/+1
2014-05-07Improve bucket code documentation.Ben Johnson1-11/+14
2014-05-07Fix bucket free.Ben Johnson5-6/+82
2014-05-05Add inline bucket support.Ben Johnson7-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.
2014-05-05Consolidate code for clarity.Ben Johnson10-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.
2014-05-05Remove 'bolt set'.Ben Johnson3-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.
2014-05-05Remove the c package.Ben Johnson3-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.
2014-05-04Document cursors seeing nested bucketsTommi Virtanen1-0/+1
2014-05-04Cursor.Seek validity is indicated by key being nilTommi Virtanen1-1/+1
2014-05-03Refactor split/spill.Ben Johnson6-132/+240
2014-04-30Add streaming stats to bolt bench.Ben Johnson2-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.
2014-04-30Remove bolt bench -stat.Ben Johnson2-26/+1
2014-04-29Add --batch-size to 'bolt bench'.Ben Johnson2-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
2014-04-29Add Tx.Cursor().Ben Johnson2-0/+33
This commit adds the Cursor() function to Tx. This allows iteration on the root bucket in a similar way to iteration on other buckets. Fixes #141.
2014-04-29Copy key on Put() and CreateBucket().Ben Johnson1-0/+9
This commit makes a copy of the key byte slice before inserting into the database. This fixes the issue where users may reuse byte buffers which can corrupt the database. Fixes #143.
2014-04-25Printf's %s and %q do the right thing with []byte; removed string conversion.Kevin Gillette3-8/+8
2014-04-24add -stats and -batch-size support to bench cmdMartin Kobetic2-12/+63
2014-04-23fix empty byte vs nil test problemsMartin Kobetic2-17/+10
2014-04-23add test for empty bucket handlingMartin Kobetic2-8/+36
2014-04-23another test case and minor cleanupMartin Kobetic2-10/+17
2014-04-23fix deep searchMartin Kobetic2-5/+30
2014-04-22add deep tree tests, some cleanupMartin Kobetic2-32/+106
2014-04-22Change to BucketStats and Bucket.Stats().Ben Johnson2-50/+55
This commit pluralizes the BucketStat type to be BucketStats. This makes it more consistent with the other Stats() calls. This commit also changes the return type to a struct instead of a pointer. Finally, this commit adds documentation to the fields of BucketStats.
2014-04-22rename MaxDepth to DepthMartin Kobetic2-6/+6
2014-04-22skip space assertions for incompatible page sizeMartin Kobetic1-14/+22
2014-04-22allign naming with MemStatsMartin Kobetic2-32/+32
2014-04-22moar tweaksMartin Kobetic2-34/+55
2014-04-22update stats testMartin Kobetic1-0/+8
2014-04-22add Used/Free Leaf/Branch bucket statsMartin Kobetic1-0/+15
2014-04-18Add 'bolt bench'.Ben Johnson9-496/+281
This commit adds a flexible benchmarking tool to the 'bolt' CLI. It allows the user to separately specify the write mode and read mode (e.g. sequential random, etc). It also allows the user to isolate profiling to either the read or the writes. Currently the bench tool only supports "seq" read and write modes. It also does not support streaming of Bolt counters yet. Fixes #95. /cc @snormore