On Tue, Oct 3, 2017 at 11:19 PM, Russell Haley <[email protected]> wrote: > Hi, > > So I'm using LMDB to create a simple 'database' system for lua that > will allow me to directly serialize and store lua table data. So far I > have used the wonderful lmdb wrapper lightningmdb and created a simple > API to hide some of the mechanisms. > > Honestly, your API is so well thought out, I'm doing a disservice by > removing a lot of the powerful features. However, I press ahead and > beg forgiveness. :) > > I have two questions: > > 1) There is a simplified vs cursor API. I am starting to suspect that > the simplified functions are just basic wrappers around the cursor > API? I ask because if this is the case, I could just remove my support > for the simplified API and only have to support one set of functions. > > 2) The key lookup is blazing fast (so awesome, this thing is going to > smoke!). I wanted to create a way of indexing the data elements within > the database by allowing users to create lua functions that parse the > lua table values. > --a basic table that would be serialized into a lmdb database called t1 > t1 = { > 1={col_a="test",col_b="item1"}, > 2={col_a="not-a-test",col_b="item2"}, > 3={col_a="test",col_b="item3"} > } > > --The function that would be called per-row to create an index. > local function(k,v) > > return v.col_a, k > end > > The idea would be to use the dupsort feature to create an 'index' > database with data structured as: > > not-a-test, 2 > test, 1 > test, 3
Sorry, hit send in gmail by accident. Anyway, the idea is to use the dupsort feature to create indexes. Is this feasible? Any input or direction would be fantastic. Thanks! Russ
