This is absolutely amazing stuff. I was using lmdb and it was ok, but the Nim
layer on NimDBX is just beautiful.
Proper database as easy to use as the filesystem... finally!
nimdbx is [in the Nimble directory now](https://nimble.directory/pkg/nimdbx),
so if you’ve got keys you want to value, you can install it easily now.
Although the Nimble page says its install is failing:
`/tmp/nimble_21298/githubcom_snejnimdbx/nim.cfg(2, 3) Error: 'none', 'boehm' or
'refc' expe
Looks like a handy library, thanks! Sometimes it's handy to have a good KV
store around.
> the nimdbx readme seems to have replaced the concise install info with a link
> to Nimterop
The install actually got much easier — you should now be able to just check out
or download the repo, then type “nimble test” and it builds and self-tests.
Nimterop is just behind-the-scenes infrastruc
> Well, Nimterop has the advantage of being automatic: if some functions are
> added in the header, it will be easy to keep it up to date
And it has the disadvantage that you cannot ship the Nim code as it's OS and
CPU specific. So what if functions were added to the header, who says that you
n
For some reason this forum didn't notify me of your reply.
That's great! I hope you'll consider documenting install and usage with us poor
souls coming from high level languages, frameworks and ORMs in mind. :)
I, for one, like the Arch wiki style: short code examples that show all the
necessar
My wrapper was pretty incomplete, probably less than half of the C API. As I
expand my library's coverage, it’ll be easier since I now have a complete
wrapper.
Well, Nimterop has the advantage of being automatic: if some functions are
added in the header, it will be easy to keep it up to date
> Also using Nimterop to generate a Nim wrapper of the C header, instead of my
> hand-written one.
Er, please keep the hand-written one... :-( IMO Nimterop is for when you don't
have the time to hand-craft a wrapper.
New improvements:
* Now uses Nimterop to build libmdbx and statically link it, automatically.
* Also using Nimterop to generate a Nim wrapper of the C header, instead of
my hand-written one.
* Added subscript operators on CollectionShortcut as a convenience for
creating Cursors.
I’ve got some C++ code that extends libmdbx further, adding value properties
(JSON-like), indexes and querying. But I’m trying to wean myself off C++, and
NimDBX is a first step.
Yeah, the cursor and put modes in all those dbm-derived APIs are very
confusing! I plan to add more idiomatic sugar to the Cursor class to make it
easier to use.
This is great. I was trying to use nim-lmdb, but couldn't figure out how to use
the cursor. I'm looking forward to using this to remove the db query caching
code and db server dependency required with my current web stack, as well as
having the performance improvement. These types of "building b
Good idea. I was writing a key-value DB in C++ before I knew about Nim. I was
also gradually adding features to add a relational model. I spent a lot of time
tracking down memory bugs, so Nim is the perfect replacement.
+1 to your code. I also like your prose.
Dude! You're on fire!!
I've written a Nim library around libmdbx, a super-fast key-value store. I call
it [NimDBX](https://github.com/snej/nimdbx). It's still early in development,
but it's passed a handful of unit tests so I think it's ready to show off :)
> NimDBX just maps arbitrary keys to values, in multiple name
17 matches
Mail list logo