[db] add versioned BoltDB and KvVersionedWithBuffer
Description
Base DB change for index DB size reduction
Fixes #(issue)
Type of change
Please delete options that are not relevant.
- [] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [] Code refactor or improvement
- [] Breaking change (fix or feature that would cause a new or changed behavior of existing functionality)
- [] This change requires a documentation update
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
- [] make test
- [] fullsync
- [] Other test (please specify)
Test Configuration:
- Firmware version:
- Hardware:
- Toolchain:
- SDK:
Checklist:
- [] My code follows the style guidelines of this project
- [] I have performed a self-review of my code
- [] I have commented my code, particularly in hard-to-understand areas
- [] I have made corresponding changes to the documentation
- [] My changes generate no new warnings
- [] I have added tests that prove my fix is effective or that my feature works
- [] New and existing unit tests pass locally with my changes
- [] Any dependent changes have been merged and published in downstream modules
Quality Gate passed
The SonarCloud Quality Gate passed, but some issues were introduced.
7 New issues
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
Codecov Report
Attention: Patch coverage is 26.92308% with 38 lines in your changes are missing coverage. Please review.
Project coverage is 77.01%. Comparing base (
d716bb9) to head (1e46af9). Report is 29 commits behind head on master.
:exclamation: Current head 1e46af9 differs from pull request most recent head b7e4bf8. Consider uploading reports for the commit b7e4bf8 to get more accurate results
| Files | Patch % | Lines |
|---|---|---|
| db/db_versioned.go | 0.00% | 38 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #4041 +/- ##
==========================================
+ Coverage 76.51% 77.01% +0.50%
==========================================
Files 340 342 +2
Lines 29273 29369 +96
==========================================
+ Hits 22397 22618 +221
+ Misses 5761 5654 -107
+ Partials 1115 1097 -18
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
pls add more details as context in the description
From my understand, the idea of pr is to build a mapping for deduplicated data. Changing the implementation of KVStore is more reasonable than changing boltdb itself, where does simple kv storage jobs.
From my understand, the idea of pr is to build a mapping for deduplicated data. Changing the implementation of KVStore is more reasonable than changing boltdb itself, where does simple kv storage jobs.
it's not changing boltdb, rather it's using boltdb's underlying API to construct a KVStore that can return multiple versions of value for the same key
Quality Gate passed
Issues
8 New issues
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code