diff --git a/Cargo.lock b/Cargo.lock index c5d41c5..e55c267 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1809,6 +1809,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scylla" version = "0.13.0" +source = "git+https://github.com/pkolaczk/scylla-rust-driver.git?branch=vector#ea914d446d2172d3470f1e4de5fd87d55962b51a" dependencies = [ "arc-swap", "async-trait", @@ -1840,6 +1841,7 @@ dependencies = [ [[package]] name = "scylla-cql" version = "0.2.0" +source = "git+https://github.com/pkolaczk/scylla-rust-driver.git?branch=vector#ea914d446d2172d3470f1e4de5fd87d55962b51a" dependencies = [ "async-trait", "byteorder", @@ -1855,6 +1857,7 @@ dependencies = [ [[package]] name = "scylla-macros" version = "0.5.0" +source = "git+https://github.com/pkolaczk/scylla-rust-driver.git?branch=vector#ea914d446d2172d3470f1e4de5fd87d55962b51a" dependencies = [ "darling", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index e3fabac..21af9be 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -40,7 +40,7 @@ rand_distr = "0.4" regex = "1.5" rune = "0.13" rust-embed = "8" -scylla = { path = "../scylla-rust-driver/scylla", features = ["ssl"] } +scylla = { git = "https://github.com/pkolaczk/scylla-rust-driver.git", branch = "vector", features = ["ssl"] } search_path = "0.1" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" diff --git a/src/scripting/bind.rs b/src/scripting/bind.rs index 3f32f75..9486b2f 100644 --- a/src/scripting/bind.rs +++ b/src/scripting/bind.rs @@ -80,6 +80,15 @@ fn to_scylla_value(v: &Value, typ: &ColumnType) -> Result { .try_collect()?; Ok(CqlValue::List(elements)) } + (Value::Vec(v), ColumnType::Vector(elt, _dim)) => { + let v = v.borrow_ref().unwrap(); + let elements = v + .as_ref() + .iter() + .map(|v| to_scylla_value(v, elt)) + .try_collect()?; + Ok(CqlValue::Vector(elements)) + } (Value::Vec(v), ColumnType::Set(elt)) => { let v = v.borrow_ref().unwrap(); let elements = v