Pure Key/Value database library for Erlang Applications
Erlang
65
170 commits
updated Aug 12, 2021
Copyright (c) 2014-2015 Benoit Chesneau and the contributors.
Version: 0.4.2
Authors: Benoit Chesneau (benoitc@refuge.io).
CowDB implements an indexed, key/value storage engine.
Look at the cowdb module for the API usage.
main CowDB website is http://cowdb.org
To build CowDB you need to install rebar in your PATH. Rebar is
available on Github:
https://github.com/rebar/rebar
Follow the README to install it.
Fetch the source code:
$ git clone https://github.com/refuge/cowdb.git
Build the source, run the make command. It will fetch all required
dependencies.
$ cd /<PATH_TO>/cowdb
$ make
$ make test
1> {ok, Pid} = cowdb:open("testing.db").
{ok,<0.35.0>}
2> cowdb:put(Pid, a, 1).
{ok, 1}
3> cowdb:get(Pid, a).
{ok,{a,1}}
4> cowdb:mget(Pid, [a, b]).
[{ok,{a,1}},not_found]
5> cowdb:put(Pid, b, 2).
{ok, 2}
6> cowdb:mget(Pid, [a, b]).
[{ok,{a,1}},{ok,{b,2}}]
7> cowdb:mget(Pid, [a, b, c, d]).
[{ok,{a,1}},{ok,{b,2}},not_found,not_found]
8> cowdb:transact(Pid, [
{add, c, 2},
{remove, b},
{fn, fun(Db) ->
{ok, {a, V}} = cowdb:get(Db, a),
[{add, d, V}] end}]).
{ok, 3}
9> cowdb:mget(Pid, [a, b, c, d]).
[{ok,{a,1}},not_found,{ok,{c,2}},{ok,{d,1}}]
10> cowdb:fold(Pid, fun(Got, Acc) -> {ok, [Got | Acc]} end, []).
{ok,[{d,1},{c,2},{a,1}]}
The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE.
cowdb uses the C4.1 (Collective Code Construction Contract) process for contributions.
Under C4.1 process, you are more than welcome to help us by:
To run the test suite:
$ make test
Erlang
98.4%
Makefile
1.6%
Pure Key/Value database library for Erlang Applications
Erlang
65
170 commits
updated Aug 12, 2021
Copyright (c) 2014-2015 Benoit Chesneau and the contributors.
Version: 0.4.2
Authors: Benoit Chesneau (benoitc@refuge.io).
CowDB implements an indexed, key/value storage engine.
Look at the cowdb module for the API usage.
main CowDB website is http://cowdb.org
To build CowDB you need to install rebar in your PATH. Rebar is
available on Github:
https://github.com/rebar/rebar
Follow the README to install it.
Fetch the source code:
$ git clone https://github.com/refuge/cowdb.git
Build the source, run the make command. It will fetch all required
dependencies.
$ cd /<PATH_TO>/cowdb
$ make
$ make test
1> {ok, Pid} = cowdb:open("testing.db").
{ok,<0.35.0>}
2> cowdb:put(Pid, a, 1).
{ok, 1}
3> cowdb:get(Pid, a).
{ok,{a,1}}
4> cowdb:mget(Pid, [a, b]).
[{ok,{a,1}},not_found]
5> cowdb:put(Pid, b, 2).
{ok, 2}
6> cowdb:mget(Pid, [a, b]).
[{ok,{a,1}},{ok,{b,2}}]
7> cowdb:mget(Pid, [a, b, c, d]).
[{ok,{a,1}},{ok,{b,2}},not_found,not_found]
8> cowdb:transact(Pid, [
{add, c, 2},
{remove, b},
{fn, fun(Db) ->
{ok, {a, V}} = cowdb:get(Db, a),
[{add, d, V}] end}]).
{ok, 3}
9> cowdb:mget(Pid, [a, b, c, d]).
[{ok,{a,1}},not_found,{ok,{c,2}},{ok,{d,1}}]
10> cowdb:fold(Pid, fun(Got, Acc) -> {ok, [Got | Acc]} end, []).
{ok,[{d,1},{c,2},{a,1}]}
The contributors are listed in AUTHORS. This project uses the MPL v2 license, see LICENSE.
cowdb uses the C4.1 (Collective Code Construction Contract) process for contributions.
Under C4.1 process, you are more than welcome to help us by:
To run the test suite:
$ make test
Erlang
98.4%
Makefile
1.6%