| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix rebalance bug
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit fixes a rare issue where a page can become accessible
when it has already been freed. This occurs when the first two
child pages of a parent both have deletions and the first page
has 1 remaining children and the second page has 2 remaining
children. During rebalancing the first page pulls an element from
the second page and then the second page pulls the same element
back from the first. The child page was not being freed properly.
I resolved this issue by removing this part of the rebalancing.
I made this choice for two reasons:
1. Moving a single item between pages has negligible benefit. The
page will eventually be cleaned up when it reaches zero elements.
2. This is an infrequently executed branch of code which increases
the likelihood of bugs occurring and it makes it more difficult
to test properly.
Fixes #348
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix strict mode
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commits fixes a timing bug where `DB.StrictMode` can panic
before the goroutine reading the database can finish. If an error
is found in strict mode then it now finishes reading the entire
database before panicking.
|
|\ \ \ \
| | | | |
| | | | | |
Move to separate lock file on windows
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Use tx.meta during Tx.WriteTo()
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This commit changes `Tx.WriteTo()` to use the transaction's
in-memory meta page instead of copying from the disk. This is
needed because the transaction uses the size from its meta page
but writes the current meta page on disk which may have allocated
additional pages since the transaction started.
Fixes #513
|
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
new bolt_ppc64.go similar to bolt_ppc64le.go
|
|/ / / /
| | | |
| | | |
| | | | |
version 4 of the patch
|
|\ \ \ \
| | | | |
| | | | | |
Add bolt_ppc.go to compile on 32-bit PPC platforms.
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Add appveyor.yml.
|
| |/ / /
| | | |
| | | |
| | | | |
Add an initial appveryor.yml to test on AppVeyor's Windows CI.
|
|\ \ \ \
| |/ / /
|/| | | |
Add mbuckets to list of projects using Bolt
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Update README.md
|
|/ / / |
|
|\ \ \
| |/ /
|/| | |
Add Go Report Card to list of projects using Bolt
|
|/ / |
|
|\ \
| | |
| | | |
Revert "Remove erroneous build constraint from arm64"
|
|/ / |
|
|\ \
| | |
| | | |
Remove erroneous build constraint from arm64
|
|/ /
| |
| |
| | |
This was preventing ARM64 targets from building.
|
|\ \
| | |
| | | |
added Request Baskets to projects list
|
|/ / |
|
|\ \
| | |
| | | |
Update README.md
|
|/ / |
|
|\ \
| | |
| | | |
Add bucket check to db.View in readme.md
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add 'Assume bucket exists and has keys' comments on db.View calls
accessing bucket keys in examples of db.View in readme.md code examples.
Fixes #484
|
|\ \ \
| | | |
| | | | |
Add documentation to Readme for mobile support (iOS/Android)
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
*: fixes minor typos
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
*: fix test print format
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit moves `overAllocation` to a configurable `DB.AllocSize`
field and performs minor cosmetic clean up.
|
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Only grow the database size when the high watermark increases.
We also grows the database size a little bit aggressively to
save a few ftruncates.
I have tested this on various environments. The performance impact
is ignorable with 16MB over allocation. Without over allocation,
the performance might decrease 100% when each Tx.Commit needs a new
page on a very slow disk (seek time dominates the total write).
|
|\ \ \ \
| |_|/ /
|/| | | |
Wrong threadCount passed to TestSimulate_1op_1p
|
|/| | |
| | | |
| | | | |
FIX: Incorrect threadCount in simulation_test.go
|
|/ / /
| | |
| | | |
TestSimulate_1op_1p should pass 1 as the threadCount instead of 100
|
|\ \ \
| | | |
| | | | |
Test suite refactoring
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit refactors the test suite to make it cleaner and to use the
standard testing library better. The `assert()`, `equals()`, and `ok()`
functions have been removed and some test names have been changed for
clarity.
No functionality has been changed.
|
|\ \ \
| | | |
| | | | |
[docs] Add table of contents
|