diff --git a/Cargo.lock b/Cargo.lock index 581480f43553..9c020d9d4d9c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -7090,9 +7090,8 @@ dependencies = [ [[package]] name = "scylla" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8139623d3fb0c8205b15e84fa587f3aa0ba61f876c19a9157b688f7c1763a7c5" +version = "0.15.0" +source = "git+https://github.com/juspay/scylla-rust-driver.git?rev=5700aa2847b25437cdd4fcf34d707aa90dca8b89#5700aa2847b25437cdd4fcf34d707aa90dca8b89" dependencies = [ "arc-swap", "async-trait", @@ -7121,9 +7120,8 @@ dependencies = [ [[package]] name = "scylla-cql" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de7020bcd1f6fdbeaed356cd426bf294b2071bd7120d48d2e8e319295e2acdcd" +version = "0.4.0" +source = "git+https://github.com/juspay/scylla-rust-driver.git?rev=5700aa2847b25437cdd4fcf34d707aa90dca8b89#5700aa2847b25437cdd4fcf34d707aa90dca8b89" dependencies = [ "async-trait", "byteorder", @@ -7131,16 +7129,17 @@ dependencies = [ "lz4_flex", "scylla-macros", "snap", + "stable_deref_trait", "thiserror", "tokio 1.40.0", "uuid", + "yoke", ] [[package]] name = "scylla-macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3859b6938663fc5062e3b26f3611649c9bd26fb252e85f6fdfa581e0d2ce74b6" +version = "0.7.0" +source = "git+https://github.com/juspay/scylla-rust-driver.git?rev=5700aa2847b25437cdd4fcf34d707aa90dca8b89#5700aa2847b25437cdd4fcf34d707aa90dca8b89" dependencies = [ "darling 0.20.10", "proc-macro2", diff --git a/crates/masking/Cargo.toml b/crates/masking/Cargo.toml index 425c1ca36ec4..003007989760 100644 --- a/crates/masking/Cargo.toml +++ b/crates/masking/Cargo.toml @@ -28,7 +28,7 @@ subtle = "2.5.0" time = { version = "0.3.35", optional = true, features = ["serde-human-readable"] } url = { version = "2.5.0", features = ["serde"] } zeroize = { version = "1.7", default-features = false } -scylla = { version = "0.14.0", optional = true} +scylla = { git = "https://github.com/juspay/scylla-rust-driver.git",rev = "5700aa2847b25437cdd4fcf34d707aa90dca8b89", optional = true} [dev-dependencies] serde_json = "1.0.115" diff --git a/crates/masking/src/cassandra.rs b/crates/masking/src/cassandra.rs index dc81512e79d5..2544ab18a7aa 100644 --- a/crates/masking/src/cassandra.rs +++ b/crates/masking/src/cassandra.rs @@ -1,7 +1,6 @@ use scylla::{ - cql_to_rust::FromCqlVal, deserialize::DeserializeValue, - frame::response::result::{ColumnType, CqlValue}, + frame::response::result::ColumnType, serialize::{ value::SerializeValue, writers::{CellWriter, WrittenCellProof}, @@ -17,34 +16,25 @@ where { fn serialize<'b>( &self, - typ: &ColumnType, + typ: &ColumnType<'_>, writer: CellWriter<'b>, ) -> Result, SerializationError> { self.peek().serialize(typ, writer) } } -impl<'frame, T> DeserializeValue<'frame> for StrongSecret +impl<'frame, 'metadata, T> DeserializeValue<'frame, 'metadata> for StrongSecret where - T: DeserializeValue<'frame> + zeroize::Zeroize + Clone, + T: DeserializeValue<'frame, 'metadata> + zeroize::Zeroize + Clone, { - fn type_check(typ: &ColumnType) -> Result<(), scylla::deserialize::TypeCheckError> { + fn type_check(typ: &ColumnType<'_>) -> Result<(), scylla::deserialize::TypeCheckError> { T::type_check(typ) } fn deserialize( - typ: &'frame ColumnType, + typ: &'metadata ColumnType<'metadata>, v: Option>, ) -> Result { Ok(Self::new(T::deserialize(typ, v)?)) } } - -impl FromCqlVal for StrongSecret -where - T: FromCqlVal + zeroize::Zeroize + Clone, -{ - fn from_cql(cql_val: CqlValue) -> Result { - Ok(Self::new(T::from_cql(cql_val)?)) - } -}