aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix race detector CI.Ben Johnson2014-04-111-1/+1
|
* Merge pull request #127 from benbjohnson/nested-keysBen Johnson2014-04-1135-1519/+2054
|\ | | | | Add nested buckets.
| * Upgrade import/export to use nested buckets.Ben Johnson2014-04-118-27/+78
| |
| * Merge branch 'master' into nested-keysBen Johnson2014-04-1114-41/+361
| |\ | |/ |/| | | | | | | Conflicts: db_test.go tx_test.go
* | Merge pull request #128 from benbjohnson/import-exportBen Johnson2014-04-1111-24/+310
|\ \ | | | | | | Add import/export to CLI.
| * | Add import/export to CLI.Ben Johnson2014-04-1111-24/+310
|/ / | | | | | | | | | | | | | | | | | | | | This commit adds two new commands: bolt import --input INPUT PATH bolt export PATH This exports the database in a simple, nested, key/value JSON document. Each node in the document has a "key", a "value", and an optional "type". The key and value fields are both base64 encoded.
* | Merge pull request #122 from mkobetic/benchmark_tweaksBen Johnson2014-04-102-49/+35
|\ \ | | | | | | Make all benchmarks constant size and add multiple sizes
| * | make all benchmarks constant size and add multiple sizesMartin Kobetic2014-04-082-49/+35
| | |
* | | Merge pull request #123 from Shopify/commit_in_binaryBen Johnson2014-04-093-2/+8
|\ \ \ | |/ / |/| | Embed branch and SHA in binary during build
| * | add ldflags on build with main.commit and main.branch to MakefileSteven Normore2014-04-092-2/+7
| | |
| * | add bin to gitignoreSteven Normore2014-04-091-0/+1
|/ /
* | Merge branch 'master' of https://github.com/boltdb/boltBen Johnson2014-04-082-1/+9
|\ \
| * \ Merge pull request #121 from snormore/makefile_envBen Johnson2014-04-081-0/+8
| |\ \ | | | | | | | | Add get/build targets to Makefile
| | * | add get/build targets to MakefileSteven Normore2014-04-081-0/+8
| | | |
| * | | Merge pull request #120 from snormore/readme_typoBen Johnson2014-04-081-1/+1
| |\ \ \ | | |/ / | |/| | Fix typo in README
| | * | fix typo in READMESteven Normore2014-04-081-1/+1
| |/ /
| | * Add nested buckets.Ben Johnson2014-04-1127-1498/+1948
| |/ |/| | | | | | | | | | | This commit adds the ability to create buckets inside of other buckets. It also replaces the buckets page with a root bucket. Fixes #56.
* | Update cursor benchmark.Ben Johnson2014-04-041-15/+19
|/
* Merge pull request #119 from benbjohnson/tx-renameBen Johnson2014-04-044-152/+152
|\ | | | | Rename internal local Tx variables.
| * Rename internal local Tx variables.Ben Johnson2014-04-044-152/+152
|/ | | | | | This commit changes the local Tx variables from "t" to "tx". This is partly for consistency with external documentation but also because it just annoys me for some reason.
* Merge pull request #118 from benbjohnson/commit-hookBen Johnson2014-04-042-12/+58
|\ | | | | Add Tx.OnCommit() handler.
| * Add Tx.OnCommit() handler.Ben Johnson2014-04-042-12/+58
|/ | | | | This commit adds the ability to execute a function after a transaction has successfully committed.
* READMEBen Johnson2014-04-031-0/+1
| | | Add 'Scuttlebutt' to list of projects that use Bolt.
* Merge pull request #113 from benbjohnson/meta-checksumBen Johnson2014-04-023-10/+55
|\ | | | | Add meta page checksums.
| * Add meta page checksums.Ben Johnson2014-04-023-10/+55
|/ | | | | | | | | | | | This commit adds checksums to the meta pages on every write. When the database loads, it verifies the checksums on the meta pages and returns an error if either one is corrupt. In the future, it should fallback to the previous meta page but for right now it just hard fails. This is at least preferable to opening the database and getting a random error or further corruption. Fixes #25.
* Merge pull request #112 from benbjohnson/perf-statsBen Johnson2014-04-028-100/+160
|\ | | | | Add performance counters.
| * Add performance counters.Ben Johnson2014-04-028-100/+160
|/ | | | | | | | | | | | 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.
* Merge pull request #111 from benbjohnson/flockBen Johnson2014-04-021-0/+12
|\ | | | | Add advisory file locking.
| * Add advisory file locking.Ben Johnson2014-04-021-0/+12
|/ | | | | | | This commit adds advisory locking via flock() to the database file. This ensures that two separate processes cannot both open the same data file which would cause corruption. Fixes #110.
* Merge pull request #109 from benbjohnson/consolidate-file-descriptorsBen Johnson2014-04-022-18/+10
|\ | | | | Consolidate file and metafile descriptors.
| * Consolidate file and metafile descriptors.Ben Johnson2014-04-022-18/+10
|/ | | | | | | Previously, a two file descriptors were used for the database: file & metafile. The "file" file descriptor was used for async writes while the "metafile" file descriptor was used with O_SYNC writes. This commit changes that so that there's only one file descriptor and it uses fdatasync() to synchronize writes.
* READMEBen Johnson2014-04-021-30/+1
| | | Remove the 'Internals' section since it is half-assed right now.
* Merge branch 'master' of https://github.com/boltdb/boltBen Johnson2014-04-021-0/+1
|\
| * Merge pull request #107 from DocSavage/masterBen Johnson2014-03-311-0/+1
| |\ | | | | | | Add DVID to projects using Bolt
| | * Add DVID to projects using BoltBill Katz2014-03-311-0/+1
| |/ | | | | DVID added Bolt as an optional storage engine.
* / Remove count and overflow columns for free pages on 'bolt pages'.Ben Johnson2014-04-021-4/+12
|/ | | | | | The count and overflow columns are meaningless for freed pages since there could be random overflow data in there. This commit removes those columns for free pages.
* Merge pull request #104 from benbjohnson/remove-db-openBen Johnson2014-03-314-124/+79
|\ | | | | Remove DB.Open() and only allow bolt.Open().
| * Remove DB.Open() and only allow bolt.Open().Ben Johnson2014-03-314-124/+79
|/ | | | | | | Per @tv42's suggestion, this commit removes the ability to reopen an instance of DB. All open calls go through bolt.Open(). Fixes #103.
* Merge pull request #102 from benbjohnson/fix-freelistBen Johnson2014-03-316-10/+51
|\ | | | | Write freelist after each commit.
| * Write freelist after each commit.Ben Johnson2014-03-316-10/+51
|/ | | | | Well, this is embarassing. Somehow the freelist was never getting written after each commit. This commit fixes that and fixes a small reporting issue with "bolt pages".
* Merge pull request #98 from benbjohnson/fsckBen Johnson2014-03-297-1/+140
|\ | | | | Add DB.Check().
| * Add DB.Check().Ben Johnson2014-03-297-1/+140
|/
* Merge pull request #97 from benbjohnson/cliBen Johnson2014-03-2711-316/+395
|\ | | | | Refactor bolt commands into individual files.
| * Refactor bolt commands into individual files.Ben Johnson2014-03-2711-316/+395
|/
* Merge pull request #92 from benbjohnson/safe-copyBen Johnson2014-03-261-1/+12
|\ | | | | Fix DB.Copy() meta lock and partial write checks.
| * Fix DB.Copy() meta lock and partial write checks.Ben Johnson2014-03-261-1/+12
|/
* Merge pull request #91 from benbjohnson/quickcheckBen Johnson2014-03-251-4/+15
|\ | | | | Fix quickcheck test for duplicate keys.
| * Fix quickcheck test for duplicate keys.Ben Johnson2014-03-251-4/+15
|/
* Merge pull request #90 from benbjohnson/fix-bucket-reclamationBen Johnson2014-03-253-9/+52
|\ | | | | Fix bucket reclamation
| * Fix bucket reclamation.Ben Johnson2014-03-253-9/+52
| | | | | | | | | | | | | | | | The bucket page is allocated separately from the rest of the pages but the old bucket pages were not being added to the freelist. This change fixes that and adds a simple check for database consistency. More advanced consistency checks can be added in the future. Fixes #82.