I have a list of non-urgent questions and enhancements.
1) kvdb:add_table/3
Under what circumstances does add_table/3 fail?
The current spec only returns ok().
2) kvdb:get/3
Returns {error, not_found} when a key doesn't exist .
Returns {error, not_found} when the table has not been added.
Just want to confirm if this expected.
3) kvdb:put/3
catch kvdb:put(...) returns {'EXIT', {{badarg,[{no_suchtable,}|]},}} when the table has not been added.
Just want to confirm if this is expected.
4) how to check if a table or queue exists or not?
It would be handy to have a get_table and get_queue API (or something similar).
5) kvdb:open/2
It would be handy to have generic options like create_if_missing and error_if_exists for all backends.
6) kvdb:delete/1
It would be handy to have a generic command to delete a database and destroy the db and log files. I noticed the unit tests have some backend specific utils for doing this.
7) db/1
Please clarify which functions are safe and not safe to use concurrently from different processes.
8) delete_queue/3
It would be handy to have a utility function to delete a queue.
9) prel_pop/3
Initially, the meaning of "prel" wasn't obvious to me. Maybe peek/3 might be suitable name for prel_pop/3 instead?
I have a list of non-urgent questions and enhancements.
1) kvdb:add_table/3
Under what circumstances does add_table/3 fail?
The current spec only returns ok().
2) kvdb:get/3
Returns {error, not_found} when a key doesn't exist . Returns {error, not_found} when the table has not been added.
Just want to confirm if this expected.
3) kvdb:put/3
catch kvdb:put(...) returns {'EXIT', {{badarg,[{no_suchtable,}|]},}} when the table has not been added.
Just want to confirm if this is expected.
4) how to check if a table or queue exists or not?
It would be handy to have a get_table and get_queue API (or something similar).
5) kvdb:open/2
It would be handy to have generic options like create_if_missing and error_if_exists for all backends.
6) kvdb:delete/1
It would be handy to have a generic command to delete a database and destroy the db and log files. I noticed the unit tests have some backend specific utils for doing this.
7) db/1
Please clarify which functions are safe and not safe to use concurrently from different processes.
8) delete_queue/3
It would be handy to have a utility function to delete a queue.
9) prel_pop/3
Initially, the meaning of "prel" wasn't obvious to me. Maybe peek/3 might be suitable name for prel_pop/3 instead?