fdb crate v0.3.1 released

Posted 2022-04-09 07:00:00 by rajivr ‐ 3 min read

I am happy to announce fdb crate version v0.3.1 has been released. This is the first release in the v0.3.x series and provides support for FoundationDB client API version 710 using cargo feature flag fdb-7_1.

Following are the API changes and new features in this release.

  1. The Range type now has a into_parts method that lets you easily de-structure a Range value. When you have an owned Range value, and you would like owned values of its parts, then you can use this method and avoid unnecessary clone(). The into_parts idiom is also available on KeyValue and MappedKeyValue types.

  2. The ReadTransaction trait has support for get_range_split_points which is an API version 710 feature.

  3. The ReadTransaction trait also has support for the get_mapped_range feature, which is an experimental feature in FoundationDB 7.1. This feature is automatically enabled when you use the cargo feature flag fdb-7_1.

    The Range type now includes a into_mapped_stream method that returns a stream (asynchronous iterator) of MappedKeyValue.

    You can find more information about the GetMappedRange feature here. get_mapped_range.rs provides an example of how this feature can be used.

  4. FoundationDB Tenant support is another experimental feature whose support is included in this release. Tenant support is also automatically enabled when you use the cargo feature flag fdb-7_1.

    In the bindings Tenant support is implemented using types Tenant, FdbTenant and TenantManagement. The open_tenant method on FdbDatabase provides a way to create a value of FdbTenant type and work with tenants in the cluster.

With the release of v0.3.x series, support for cargo feature flag fdb-6_3 is deprecated. We will continue to support the cargo feature flag fdb-6_3 in subsequent v0.3.x releases. It would be removed in v0.4.x release, when support for API version 720 and cargo feature flag fdb-7_2 would be introduced. Please plan your migrations accordingly.

I would like to say a big thank you to the FoundationDB community for their support and answering my questions in the forums. This release would not have been possible without your help!

Please contact us if you have any questions or feedback.