| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| | |
Add nested buckets.
|
| | |
|
| |\
| |/
|/|
| |
| |
| | |
Conflicts:
db_test.go
tx_test.go
|
|\ \
| | |
| | | |
Add import/export to CLI.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Make all benchmarks constant size and add multiple sizes
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Embed branch and SHA in binary during build
|
| | | |
|
|/ / |
|
|\ \ |
|
| |\ \
| | | |
| | | | |
Add get/build targets to Makefile
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| | |
Fix typo in README
|
| |/ / |
|
| |/
|/|
| |
| |
| |
| |
| | |
This commit adds the ability to create buckets inside of other buckets.
It also replaces the buckets page with a root bucket.
Fixes #56.
|
|/ |
|
|\
| |
| | |
Rename internal local Tx variables.
|
|/
|
|
|
|
| |
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.
|
|\
| |
| | |
Add Tx.OnCommit() handler.
|
|/
|
|
|
| |
This commit adds the ability to execute a function after a transaction has
successfully committed.
|
|
|
| |
Add 'Scuttlebutt' to list of projects that use Bolt.
|
|\
| |
| | |
Add meta page checksums.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Add performance counters.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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 advisory file locking.
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Consolidate file and metafile descriptors.
|
|/
|
|
|
|
|
| |
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.
|
|
|
| |
Remove the 'Internals' section since it is half-assed right now.
|
|\ |
|
| |\
| | |
| | | |
Add DVID to projects using Bolt
|
| |/
| |
| | |
DVID added Bolt as an optional storage engine.
|
|/
|
|
|
|
| |
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.
|
|\
| |
| | |
Remove DB.Open() and only allow bolt.Open().
|
|/
|
|
|
|
|
| |
Per @tv42's suggestion, this commit removes the ability to reopen an
instance of DB. All open calls go through bolt.Open().
Fixes #103.
|
|\
| |
| | |
Write freelist after each commit.
|
|/
|
|
|
| |
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".
|
|\
| |
| | |
Add DB.Check().
|
|/ |
|
|\
| |
| | |
Refactor bolt commands into individual files.
|
|/ |
|
|\
| |
| | |
Fix DB.Copy() meta lock and partial write checks.
|
|/ |
|
|\
| |
| | |
Fix quickcheck test for duplicate keys.
|
|/ |
|
|\
| |
| | |
Fix bucket reclamation
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|