Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

delef/RustyTarantool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

48 Commits

Repository files navigation

Simple Rust client to tarantool

Ported java connector to tarantool db

https://tarantool.io

https://github.com/tarantool/tarantool-java

Overview

Use tokio.io as base client framework

Usage

Latest Version

Example

Call echo stored procedure

run tarantool

cd test-tarantool;tarantool init-tarantool.lua

Lua stored procedure:

function test(a,b)
 return a,b,11
end

Rust client :

println!("Connect to tarantool and call simple stored procedure!");
let client = ClientConfig::new("127.0.0.1:3301", "rust", "rust")
 .set_timeout_time_ms(2000)
 .set_reconnect_time_ms(2000)
 .build();
let response = client
 .prepare_fn_call("test")
 .bind_ref(&("aa", "aa"))?
 .bind(1)?
 .execute().await?;
let res: ((String,String), u64) = response.decode_pair()?;
println!("stored procedure response ={:?}", res);
let response_sql = client
 .prepare_sql("select * from TABLE1 where COLUMN1=?")
 .bind(1)?
 .execute().await?;
 let meta = response.metadata();
 let rows: Vec<(u32, String)> = response.decode_result_set()?;
 println!("resp value={:?}", row);

Output :

Connect to tarantool and call simple stored procedure!
stored procedure response =(("param11", "param12"), (2,), (Some(11),))

On examples part of project you can also see more complicated examples :

hyper http server connecting to tarantool

actix-web example

simple benchmark

About

Rust client for tarantool db

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

  • Rust 82.1%
  • Lua 17.9%

AltStyle によって変換されたページ (->オリジナル) /