| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\
| |
| | |
Add single-bucket/single-tx caveat.
|
|/
|
|
|
|
|
|
| |
This commit adds a caveat to the README to notify users that bulk loading
random writes into a single new bucket can be problematic. This issue was
reported by @freepk.
Fixes #244.
|
|\
| |
| | |
Fix split root dereference.
|
|/
|
|
|
|
| |
This commit fixes a bug that occurs when a root node is split just after a re-mmap occurs.
Previously, this would cause a panic because the new root node would still reference
keys from the old mmap.
|
|\
| |
| | |
fix spelling mistake in README
|
|/ |
|
|\
| |
| | |
added ipLocator to projects using Bolt
|
|/ |
|
|\
| |
| | |
Add cursor examples.
|
|/ |
|
|\
| |
| | |
Add LedisDB to project list
|
|/ |
|
|\
| |
| | |
Caveats & Limitations
|
|/ |
|
| |
|
|\
| |
| | |
Testing cleanup
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Documentation!
|
|/ |
|
|\
| |
| | |
Change fill percent to be per-bucket.
|
| | |
|
|/
|
|
|
|
| |
This commit moves the DB.FillPercent field to Bucket.FillPercent. This
allows the fill percentage to be specified per-bucket, per-tx. This
value is not persisted and should be set whenever using it.
|
|\
| |
| | |
Fix root split on very large append.
|
| |
| |
| |
| |
| |
| |
| | |
This commit fixes a bug where a root split on a very large insert would
cause an overflow of the root node. The problem was that the new root
was not split when it was created so a new root with more than 64K child
nodes would overflow the page.count (uint16).
|
|\|
| |
| | |
Fix double spill
|
|/
|
|
|
|
| |
This fixes an issue where split nodes can be double spilled. This is typically
not noticable but it can have large effects when bulk inserting as double
spilled nodes will get added to the freelist which will grow quickly.
|
|\
| |
| | |
Optimize large append.
|
|/
|
|
|
|
|
|
| |
This commit fixes an issue where large nodes would take up most of
the insert time because the entire node size would be calculated to
check if it could fit in a page or not. This changes the behavior
so that a node's size is only calculated up to the size it needs to
check and then returns.
|
|\
| |
| | |
Fixed cast for 32-bit windows.
|
| | |
|
|\ \
| | |
| | | |
Add DB.NoSync option for bulk loading.
|
|/ /
| |
| |
| |
| |
| |
| | |
This commit adds the DB.NoSync flag to skip fsync() calls on each commit. This should only
be used for bulk loading as it can corrupt your database in the event of a system failure.
Initial tests show it can provide a 2x speed up for sequential inserts.
|
|\ \
| |/
|/| |
Only update rebalance time if nodes are rebalanced
|
|/
|
|
|
|
| |
This commit changes TxStats.RebalanceTime to only update if there are nodes that have been
rebalanced. Previously, the RebalanceTime would include a small amount of time to check if
there were nodes to rebalance but this is confusing to users and not terribly helpful.
|
| |
|
|\
| |
| | |
Recover from panics appropriately.
|
|/
|
|
|
|
|
| |
This commit adds a defer handler to ensure that transactions are always closed out - even
in the event of a panic within user code. It's recommended that applications always fail
in the event of a panic but some packages such as net/http will automatically recover
which is a problem (IHMO).
|
|\
| |
| | |
Allow freelist overflow.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
This commit is a backwards compatible change that allows the freelist to overflow the
page.count (uint16). It works by checking if the overflow will occur and marking the
page.count as 0xFFFF and setting the actual count to the first element of the freelist.
This approach was used because it's backwards compatible and it doesn't make sense to
change the data type of all page counts when only the freelist's page can overflow.
Fixes #192.
|
|\
| |
| | |
Add freelist cache.
|
| | |
|
| |\
| |/
|/| |
|
| | |
|
|\ \
| | |
| | | |
Fix Windows mmap sizing.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
This commit fixes an issue on Windows where the database was doubling
when it was re-opened. This occurred because Windows has to truncate the
file to the mmap size and the mmap resizing code was doubling the size
whenever the DB size was at the next threshold. This has been changed so
that the DB size will double only when the DB size is above the next
threshold.
|