| Crates.io | tsubakuro-rust-core |
| lib.rs | tsubakuro-rust-core |
| version | 0.5.0 |
| created_at | 2025-03-13 06:09:56.180031+00 |
| updated_at | 2025-09-25 00:51:00.225921+00 |
| description | core library to access Tsurugi for Rust |
| homepage | https://github.com/project-tsurugi/tsubakuro-rust/tree/master/tsubakuro-rust-core |
| repository | https://github.com/project-tsurugi/tsubakuro-rust/tree/master/tsubakuro-rust-core |
| max_upload_size | |
| id | 1590526 |
| size | 657,373 |
tsubakuro-rust-core is the core library to access Tsurugi for Rust.
tsubakuro-rust-core is a port from Tsubakuro/Java, but it does not cover all functions.
Default feature include the following features.
with_bigdecimal - Enable decimal via bigdecimal.with_rust_decimal - Enable decimal via rust_decimal.with_chrono - Enable date/time via chrono.with_time - Enable date/time via time.The Minimum Supported Rust Version (MSRV) is currently Rust 1.84.1.
Add tsubakuro-rust-core as a dependency to your Cargo.toml file:
[dependencies]
tsubakuro-rust-core = "0.5.0"
use std::time::Duration;
use log::warn;
use tsubakuro_rust_core::prelude::*;
async fn example() -> Result<(), TgError> {
let endpoint = Endpoint::parse("tcp://localhost:12345")?;
let mut connection_option = ConnectionOption::new();
connection_option.set_endpoint(endpoint);
connection_option.set_application_name("Tsubakuro/Rust example");
connection_option.set_session_label("example session");
connection_option.set_default_timeout(Duration::from_secs(10));
// connect
let session = Session::connect(&connection_option).await?;
// make SqlClient
let client: SqlClient = session.make_client();
// execute SQL
let result = example_transaction(&client).await;
// session close
if let Err(e) = session.close().await {
warn!("session close error. {}", e);
}
result
}
See example.rs for more examples.
Need protoc command since used prost.
(For example, to install protoc on Ubuntu 22.04, execute apt install protobuf-compiler)
If proto files in tsubakuro-proto has been modified, copy from there.
cd tsubakuro-rust-core
cp -rp /path/to/tsubakuro/modules/proto/src/main/protos .
Then build with cargo.
cd tsubakuro-rust-core
cargo build
cd tsubakuro-rust-core
cargo test
See also tsubakuro-rust-dbtest.