#cassandra #binding #cql #client #safe-wrapper #api-bindings

sys cassandra-cpp-sys

一个由bindgen生成的Rust包装器,围绕DataStax Cassandra C++驱动程序,并提供工作示例。你可能想使用提供安全包装的“cassandra-cpp”crate。

10个版本 (3个稳定版)

使用旧的Rust 2015

1.1.1 2024年6月18日
1.1.0 2022年3月30日
0.12.3 2021年4月30日
0.12.2 2020年10月6日
0.8.8 2017年6月29日

2042数据库接口

Download history 653/week @ 2024-04-16 501/week @ 2024-04-23 561/week @ 2024-04-30 390/week @ 2024-05-07 433/week @ 2024-05-14 270/week @ 2024-05-21 386/week @ 2024-05-28 432/week @ 2024-06-04 426/week @ 2024-06-11 552/week @ 2024-06-18 322/week @ 2024-06-25 309/week @ 2024-07-02 387/week @ 2024-07-09 299/week @ 2024-07-16 463/week @ 2024-07-23 406/week @ 2024-07-30

每月1,599 次下载
3 crates 中使用

Apache-2.0

420KB
11K SLoC

Build Status Current Version License

cassandra-cpp-sys

这是一个维护的Rust项目,在https://github.com/datastax/cpp-driver/ 提供了DataStax C++驱动的低级绑定。它主要是自动生成的。它最初是https://github.com/tupshin/cassandra-sys-rs/ 的分支,但现在已经不再维护。

此项目还包括一组相当完整的示例,与C++仓库中的示例相当。

从Rust代码中直接使用此crate是完全可能的,但这意味着会在所有地方使用不安全代码。相反,建议您使用此接口的安全包装:cassandra-cpp

文档(crates.io).

入门

为了使包装器正常工作,您必须首先安装datastax-cpp驱动程序。按照cpp驱动程序文档中的步骤进行操作。大多数平台都提供了预构建的包。

确保驱动程序(特别是 libcassandra_static.alibcassandra.so)在您的 /usr/local/lib64/ 目录中。

您可以使用此crate作为 cassandra-cpp-sys 从Cargo中。

许可证

此代码是开源的,根据LICENSE中描述的Apache许可证版本2.0进行许可。

贡献

请参阅 CONTRIBUTING.md 了解如何为此项目做出贡献。

编译

为了构建此crate,您必须在您的系统上安装DataStax驱动程序。

默认情况下,/usr/lib/usr/local/lib64/usr/local/lib 被添加到链接器搜索路径中。

可以通过 CASSANDRA_SYS_LIB_PATH 环境变量指定一个分号分隔的附加目录列表,以添加到链接器搜索路径。

特性标志

此crate包括特性标志 early_access_min_tls_version,它允许您针对包括 cass_ssl_set_min_protocol_version 方法的数据Stax驱动程序的版本进行构建,该方法在 此PR 中定义。您必须安装支持此功能的驱动程序版本,以便能够编译(和运行)具有此特性标志。

当此特性在主线驱动程序中可用时,此标志将设置为不执行任何操作并弃用,并将函数添加到主库中。然后,在下一个重大更改中,该标志将被淘汰。

自动生成

文件 cassandra.rs 按以下方式自动生成

$ bindgen --no-layout-tests --blacklist-type=max_align_t --rustified-enum=.* --output=src/cassandra.rs cassandra.h

自动生成的代码使用 rustfmt 格式化。

历史

此项目是从不再维护的 cassandra-sys 分叉而来。

依赖关系