commit | 0eeca574cc0f0d93d383897a869afc5844ac65e9 | [log] [tgz] |
---|---|---|
author | Dave Cottlehuber <dch@skunkwerks.at> | Wed Jan 06 10:42:23 2021 +0000 |
committer | Dave Cottlehuber <dch@skunkwerks.at> | Fri Mar 05 10:26:12 2021 +0000 |
tree | c378e189d66d36aafe9a9746c7c80ce4d04790ca | |
parent | e652c5606688c9af11023d455eea5a6c46a8a450 [diff] |
update enc to allow building on OTP23+ Also as far back as OTP21. In 2021, the Ericsson OTP team only officially support OTP22 & OTP23, and in 2022, OTP 24 will replace OTP22. See https://github.com/davisp/erlang-native-compiler/pull/2
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.
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.
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
FoundationDB has a custom binding tester that can be used to test whether changes have broken compatibility. See the BINDING_TESTER documentation for instructions on building and running that system.