A maintained Rust driver for Apache Cassandra, wrapping the DataStax C/C++ driver with a safe and modern API.
cassandra-cpp is a Rust driver for Apache Cassandra that provides a safe and modern API for interacting with Cassandra databases using CQL. It wraps the DataStax C/C++ driver, offering Rust developers a maintained and idiomatic way to perform database operations with async support and sound iterator implementations.
Rust developers building applications that require interaction with Apache Cassandra databases, particularly those needing a reliable and safe driver with modern async capabilities.
Developers choose cassandra-cpp because it is a maintained fork of an unproject, addresses soundness issues in the API, and provides a safe wrapper around the robust DataStax C/C++ driver with full async support.
Cassandra (CQL) driver for Rust, using the DataStax C/C++ driver under the covers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses std::future and async/await, enabling seamless integration with Rust's async ecosystem for non-blocking database operations.
Implements a lending iterator API that prevents data invalidation, fixing a critical soundness issue from earlier versions and enhancing safety.
Associates statements with specific sessions, reducing resource leaks and errors like BatchSessionMismatch, as highlighted in the version 2.0 changes.
Wraps the full DataStax C/C++ driver, exposing features like SSL, batches, and prepared statements without sacrificing functionality.
Requires manual installation of the DataStax C/C++ driver with platform-specific steps, making setup error-prone and time-consuming compared to crates with bundled dependencies.
Major versions (e.g., 2.0 and 3.0) introduce API breaks, such as the lending iterator and session-associated statements, necessitating significant code migrations.
Relies on an external C++ library, leading to potential build complexities, FFI overhead, and compatibility issues that pure Rust alternatives avoid.