Skip to content

Commit

Permalink
Merge pull request #21 from JesseStimpson/0-2-0
Browse files Browse the repository at this point in the history
v0.2.0
  • Loading branch information
JesseStimpson authored Sep 21, 2024
2 parents 7f4faa6 + a608032 commit 4711008
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 1 deletion.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ _build/
ebin/

doc/

# Must be generated locally
.clangd
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
erlang 27.0.1
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Changelog for v0.x

## v0.2.0 (2024-09-21)

### Bug fixes

* Several type specs in `erlfdb` were corrected.

### Enhancements

* `erlfdb:wait_for_all_interleaving/2`: Given a list of fold_future() or future(), calling this function will wait
on the futures at once, and then continue to issue any remaning get_range or get_mapped_range until
the result set is exhausted. This allows fdbserver to process multiple get_ranges at the same time,
in a pipelined fashion.
* `erlfdb:get_range_split_points/4`: Companion to `wait_for_all_interleaving`, this is an fdbserver-supported function
that will split a given key range into a partitioning set of ranges for which the key-values for each section are
approximately equal to the provided `chunk_size` option. There are limitations to this, namely that a hard
maximum of 100 shards can be traversed. The default `chunk_size` is 10000000 (in Bytes).
* `erlfdb:get_range*`: The default behavior of get_range is now more explicit in the type specs and with the `wait`
option, with defaults to `true`. A value of `false` will return a fold_future(), and `interleaving` is
an experimental feature that will use both `get_range_split_points` and `wait_for_all_interleaving` to retrieve the range.
12 changes: 12 additions & 0 deletions dev/DEV.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Developing in erlfdb
====================

.clangd config
--------------

The .clangd file cannot expand environment variables, so you should generate it
with the provided script, which assumes you're using asdf.

```bash
./dev/gen-clangd-config.sh > .clangd
```
8 changes: 8 additions & 0 deletions dev/gen-clangd-config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash

cat << EOF
CompileFlags:
Add:
- -I$(asdf where erlang)/usr/include
- -DFDB_USE_LATEST_API_VERSION=1
EOF
2 changes: 1 addition & 1 deletion src/erlfdb.app.src
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

{application, erlfdb, [
{description, "Erlang client for FoundationDB"},
{vsn, "0.1.2"},
{vsn, "0.2.0"},
{registered, []},
{applications, [kernel, stdlib]},
{maintainers, ["Jesse Stimpson"]},
Expand Down

0 comments on commit 4711008

Please sign in to comment.