commit | 341b08137c9546bebeb8b05c82cdafa8ebbebb38 | [log] [tgz] |
---|---|---|
author | Nick Vatamaniuc <vatamane@apache.org> | Thu Mar 04 18:06:16 2021 -0500 |
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | Fri Mar 05 11:28:49 2021 -0500 |
tree | fbd72762c9b60e79dfa1fa3a2b9226a2dd3a27dc | |
parent | 9ebcc0957cdb9d3a32761b5b25cc6777e3266411 [diff] |
Use client buggify options on the client Previously we used plain buggify options which are meant for the server. Switch them to the client versions. Can check if it works with: ``` ERL_ZFLAGS="-erlfdb network_options '[client_buggify_enable, {client_buggify_section_activated_probability, 60}, {client_buggify_section_fired_probability, 60}]'" make elixir tests=test/elixir/test/basics_test.exs ```
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.