commit | 651631d02a91e11016e2acfb1b2e0ec311b88657 | [log] [tgz] |
---|---|---|
author | Adam Kocoloski <kocolosk@apache.org> | Tue Jan 25 14:39:05 2022 -0500 |
committer | Adam Kocoloski <kocolosk@apache.org> | Tue Jan 25 18:33:52 2022 -0500 |
tree | 6e0ade6d10ecbe780236a0060f03b1475f6c55ec | |
parent | 20ae851ed87157ed127d23f09955bb608ce25a0a [diff] |
Fix issues caused by foundationdb.org breakage The foundationdb.org collapse and subsequent move to GitHub created a bit of fallout: * Update package URLs from foundationdb.org to github.com * Install Python package via pip as it's not published on GitHub * Bump version to 6.3.23 as pypi has limited release selection * Vendor the create_cluster_file.bash script (FDB elected to remove it from their published container builds).
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.