Switch API level to 610

There were some changes that had to be accounted for:

 * Cluster is gone, so cluster futures, resources, etc were removed

 * Create database returns a database object not future, so database future
   type is removed.

 * It's possible to use json tracing format on the client, so added that
   netowrk option.
8 files changed
tree: 6834369c1af31bbb05147470773feec2a189955d
  1. c_src/
  2. include/
  3. notes/
  4. plugins/
  5. priv/
  6. src/
  7. test/
  8. .gitignore
  9. enc
  10. LICENSE
  11. Makefile
  12. README.md
  13. rebar.config
README.md

An Erlang Binding to FoundationDB

This project is a NIF wrapper for the FoundationDB C API. Documentation on the main API can be found here.

This project also provides a conforming implementation of the Tuple and Directory layers.

Building

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.

Quick Example

A simple example showing how to open a database and read and write keys:


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