Crates.io | scylla-cql |
lib.rs | scylla-cql |
version | |
source | src |
created_at | 2022-08-25 14:07:00.582846+00 |
updated_at | 2025-03-04 17:18:26.835021+00 |
description | CQL data types and primitives, for interacting with Scylla. |
homepage | |
repository | https://github.com/scylladb/scylla-rust-driver |
max_upload_size | |
id | 652195 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
This is a client-side driver for ScyllaDB written in pure Rust with a fully async API using Tokio. Although optimized for ScyllaDB, the driver is also compatible with Apache Cassandra®.
The documentation book is a good place to get started. Another useful resource is the Rust and Scylla lesson on Scylla University.
use futures::TryStreamExt;
let uri = "127.0.0.1:9042";
let session: Session = SessionBuilder::new().known_node(uri).build().await?;
let query_pager = session.query_iter("SELECT a, b, c FROM ks.t", &[]).await?;
let mut stream = query_pager.rows_stream::<(i32, i32, String)>()?;
while let Some((a, b, c)) = stream.try_next().await? {
println!("a, b, c: {}, {}, {}", a, b, c);
}
Please see the full example program for more information. You can also run the example as follows if you have a Scylla server running:
SCYLLA_URI="127.0.0.1:9042" cargo run --example basic
All examples are available in the examples directory
The driver supports the following:
For planned future improvements, see our Milestones.
We invite you to discuss any issues and ask questions on the ScyllaDB Forum and the #rust-driver
channel on ScyllaDB Slack.
The driver is considered production ready, hence its version is not 0.x. We do however acknowledge that the API will surely need some breaking changes in the future, which means it is not our goal to stay on 1.x forever - we will release new major version in the future.
The API stability guarantee we provide is that we won't release new major versions very often. In case of 2.0, it won't be released earlier than 9 months after release 1.0. For further major versions this duration may be increased.
After new major version is released, the previous major version will still receive bugfixes for some time (exact time is yet to be determined), but new features will only be developed for the latest major version.
Our driver's minimum supported Rust version (MSRV) is 1.70.0. Changes to MSRV can only happen in major and minor relases, but not in patch releases. We will not bump MSRV to a Rust version that was released less than 6 months ago.
This project is licensed under either of
at your option.