diff --git a/scylla-cql/src/types/deserialize/mod.rs b/scylla-cql/src/types/deserialize/mod.rs index 0e9b2a058..12e73052b 100644 --- a/scylla-cql/src/types/deserialize/mod.rs +++ b/scylla-cql/src/types/deserialize/mod.rs @@ -169,6 +169,9 @@ pub mod value; pub use frame_slice::FrameSlice; +pub use row::DeserializeRow; +pub use value::DeserializeValue; + use std::error::Error; use std::fmt::Display; use std::sync::Arc; diff --git a/scylla/src/lib.rs b/scylla/src/lib.rs index 818c5ebbd..e7b9afb7e 100644 --- a/scylla/src/lib.rs +++ b/scylla/src/lib.rs @@ -126,10 +126,41 @@ pub mod frame { } } -// FIXME: finer-grained control over exports -// Some types are `pub` in scylla-cql just for scylla crate, -// and those shouldn't be exposed for users. -pub use scylla_cql::types::{deserialize, serialize}; +/// Serializing bound values of a query to be sent to the DB. +pub mod serialize { + pub use scylla_cql::types::serialize::*; +} + +/// Deserializing DB response containing CQL query results. +pub mod deserialize { + pub use scylla_cql::types::deserialize::{ + DeserializationError, DeserializeRow, DeserializeValue, FrameSlice, TypeCheckError, + }; + + /// Deserializing the whole query result contents. + pub mod result { + pub use scylla_cql::types::deserialize::result::{RowIterator, TypedRowIterator}; + } + + /// Deserializing a row of the query result. + pub mod row { + pub use scylla_cql::types::deserialize::row::{ + BuiltinDeserializationError, BuiltinDeserializationErrorKind, BuiltinTypeCheckError, + BuiltinTypeCheckErrorKind, ColumnIterator, RawColumn, + }; + } + + /// Deserializing a single CQL value from a column of the query result row. + pub mod value { + pub use scylla_cql::types::deserialize::value::{ + BuiltinDeserializationError, BuiltinDeserializationErrorKind, BuiltinTypeCheckError, + BuiltinTypeCheckErrorKind, Emptiable, ListlikeIterator, MapDeserializationErrorKind, + MapIterator, MapTypeCheckErrorKind, MaybeEmpty, SetOrListDeserializationErrorKind, + SetOrListTypeCheckErrorKind, TupleDeserializationErrorKind, TupleTypeCheckErrorKind, + UdtIterator, UdtTypeCheckErrorKind, + }; + } +} pub mod authentication; #[cfg(feature = "cloud")]