timshannon / badgerhold

BadgerHold is an embeddable NoSQL store for querying Go types built on Badger
MIT License
520 stars 51 forks source link

Badgerhold with Badger v2? #21

Closed evanoberholster closed 3 years ago

evanoberholster commented 4 years ago

Can badgerhold be used with badgerDb v2?

timshannon commented 4 years ago

Currently the project references 1.6.0. As far as I can tell the API isn't changing in V2, just the storage format, so it should work, however the change in storage format probably should require reving a new version in this library as well.

If possible, it'd be nice to be able to target either with an option passed in when you open the DB.

evanoberholster commented 4 years ago

Thank you, I have been trying it. So far it works. I am having trouble with Concurrent writes:

Transaction Conflict. Please retry Transaction Conflict. Please retry Transaction Conflict. Please retry

Any idea if this is Badgerhold or Badgerdb?

Where should I look?

imikod commented 4 years ago

Badger v2 has a new option DetectConflicts which is set to true by default. I believe this should be set to false for badgerhold to work.

tiero commented 4 years ago

Really interested in seeing support for V2. There is any fork/PoC that tried it out?

tiero commented 4 years ago

API isn't changing in V2, just the storage format, so it should work

The v1.x tx struct is different thant the v2, hence cannot compile at all. If you can flesh out a list of things to look into in order to support v2 just to be more startegic, would be much more happy to make a contribution.

timshannon commented 4 years ago

By all means, put together a PR. I'm crazy busy with work at the moment, so it's definitely a lower priority for me.

On Thu, Oct 8, 2020 at 4:18 AM Marco Argentieri notifications@github.com wrote:

API isn't changing in V2, just the storage format, so it should work

The v1.x tx struct is different thant the v2, hence cannot compile at all. If you can flesh out a list of things to look into in order to support v2 just to be more startegic, would be much more happy to make a contribution.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/timshannon/badgerhold/issues/21#issuecomment-705443184, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKE2NIOTDJHYJ5EGDZK5A3SJV7V3ANCNFSM4JZNRRQQ .

-- Tim Shannon www.townsourced.com

timshannon commented 3 years ago

closed with #39 You'll need to update your library paths to "github.com/timshannon/badgerhold/v2" to make use of V2 of Badger.