Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/apache/couchdb-erlfdb
Erlang API for FoundationDB
https://github.com/apache/couchdb-erlfdb
couchdb erlang foundationdb
Last synced: 3 months ago
JSON representation
Erlang API for FoundationDB
- Host: GitHub
- URL: https://github.com/apache/couchdb-erlfdb
- Owner: apache
- License: apache-2.0
- Created: 2020-04-01T12:08:38.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T06:26:30.000Z (9 months ago)
- Last Synced: 2024-09-30T01:21:17.902Z (4 months ago)
- Topics: couchdb, erlang, foundationdb
- Language: Erlang
- Homepage: https://www.foundationdb.org
- Size: 236 KB
- Stars: 28
- Watchers: 23
- Forks: 20
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-foundationdb - Erlang
README
An Erlang Binding to FoundationDB
===[![CI](https://github.com/apache/couchdb-erlfdb/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/couchdb-erlfdb/actions/workflows/ci.yml)[![Coverage](https://coveralls.io/repos/github/apache/couchdb-erlfdb/badge.svg?branch=main)](https://coveralls.io/github/apache/couchdb-erlfdb?branch=main)
This project is a NIF wrapper for the FoundationDB C API. Documentation on
the main API can be found [here][fdb_docs].This project also provides a conforming implementation of the [Tuple] and
[Directory] layers.[fdb_docs]: https://apple.github.io/foundationdb/api-c.html
[Tuple]: https://github.com/apple/foundationdb/blob/master/design/tuple.md
[Directory]: https://apple.github.io/foundationdb/developer-guide.html#directoriesBuilding
---Assuming you have installed the FoundationDB C API library, building erlfdb
is as simple as:$ make
Alternatively, adding erlfdb as a rebar dependency should Just Work ®.
Documentation for installing FoundationDB can be found [here for macOS]
or [here for Linux].[here for macOS]: https://apple.github.io/foundationdb/getting-started-mac.html
[here for Linux]: https://apple.github.io/foundationdb/getting-started-linux.htmlQuick Example
---A simple example showing how to open a database and read and write keys:
```erlang
Eshell V9.3.3.6 (abort with ^G)
1> Db = erlfdb:open(<<"/usr/local/etc/foundationdb/fdb.cluster">>).
{erlfdb_database,#Ref<0.2859661758.3941466120.85406>}
2> ok = erlfdb:set(Db, <<"foo">>, <<"bar">>).
ok
3> erlfdb:get(Db, <<"foo">>).
<<"bar">>
4> erlfdb:get(Db, <<"bar">>).
not_found
```Binding Tester
---FoundationDB has a custom binding tester that can be used to test whether
changes have broken compatibility. See the [BINDING_TESTER](BINDING_TESTER.md)
documentation for instructions on building and running that system.