Skip to content

Commit

Permalink
Move CqlValue and Row to scylla_cql::value module
Browse files Browse the repository at this point in the history
Previously those types were located in scylla_cql::frame::response::result.
This is because in old framework they were strongly coupled to the
result frame: values were always deserialized into `Vec` of `Row`s, which
in turn were `Vec`s of `CqlValue`.

In the new framework this coupling is gone. New traits allow deserialization
from raw bytes instead of `CqlValue`, which means that those types are
no more important than any other, and can be moved to the module with
other values.

scylla_cql::values may be a bit of a weird place for a `Row` struct,
but I don't see any better place.
  • Loading branch information
Lorak-mmk committed Feb 4, 2025
1 parent bf7f6cd commit 6b48f80
Show file tree
Hide file tree
Showing 24 changed files with 513 additions and 513 deletions.
2 changes: 1 addition & 1 deletion examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use futures::StreamExt as _;
use futures::TryStreamExt as _;
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::Row;
use scylla::value::Row;
use scylla::DeserializeRow;
use std::env;

Expand Down
2 changes: 1 addition & 1 deletion examples/cql-time-types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use chrono::{DateTime, NaiveDate, NaiveTime, Utc};
use futures::{StreamExt as _, TryStreamExt as _};
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::CqlValue;
use scylla::value::CqlValue;
use scylla::value::{CqlDate, CqlTime, CqlTimestamp};
use std::env;

Expand Down
2 changes: 1 addition & 1 deletion examples/cqlsh-rs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ use rustyline::{CompletionType, Config, Context, Editor};
use rustyline_derive::{Helper, Highlighter, Hinter, Validator};
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::Row;
use scylla::frame::Compression;
use scylla::response::query_result::IntoRowsResultError;
use scylla::response::query_result::QueryResult;
use scylla::value::Row;
use std::env;

#[derive(Helper, Highlighter, Validator, Hinter)]
Expand Down
2 changes: 1 addition & 1 deletion examples/get_by_name.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use anyhow::{anyhow, Result};
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::Row;
use scylla::value::Row;
use std::env;

#[tokio::main]
Expand Down
2 changes: 1 addition & 1 deletion examples/query_history.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ use anyhow::Result;
use futures::StreamExt as _;
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::Row;
use scylla::observability::history::{HistoryCollector, StructuredHistory};
use scylla::query::Query;
use scylla::value::Row;
use std::env;
use std::sync::Arc;

Expand Down
8 changes: 3 additions & 5 deletions examples/tower.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use scylla::client::session::Session;
use scylla::client::session_builder::SessionBuilder;
use scylla::frame::response::result::Row;
use scylla::value::Row;
use std::env;
use std::future::Future;
use std::pin::Pin;
Expand Down Expand Up @@ -43,11 +43,9 @@ async fn main() -> anyhow::Result<()> {
.await?
.into_rows_result()?;

let print_text = |t: &Option<scylla::frame::response::result::CqlValue>| {
let print_text = |t: &Option<scylla::value::CqlValue>| {
t.as_ref()
.unwrap_or(&scylla::frame::response::result::CqlValue::Text(
"<null>".to_string(),
))
.unwrap_or(&scylla::value::CqlValue::Text("<null>".to_string()))
.as_text()
.unwrap_or(&"<null>".to_string())
.clone()
Expand Down
3 changes: 2 additions & 1 deletion scylla-cql/src/deserialize/row.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ use thiserror::Error;

use super::value::DeserializeValue;
use super::{make_error_replace_rust_name, DeserializationError, FrameSlice, TypeCheckError};
use crate::frame::response::result::{ColumnSpec, ColumnType, CqlValue, Row};
use crate::frame::response::result::{ColumnSpec, ColumnType};
use crate::value::{CqlValue, Row};

/// Represents a raw, unparsed column value.
#[non_exhaustive]
Expand Down
6 changes: 3 additions & 3 deletions scylla-cql/src/deserialize/value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ use super::{make_error_replace_rust_name, DeserializationError, FrameSlice, Type
use crate::frame::frame_errors::LowLevelDeserializationError;
use crate::frame::response::result::CollectionType;
use crate::frame::response::result::UserDefinedType;
use crate::frame::response::result::{deser_cql_value, ColumnType, CqlValue, NativeType};
use crate::frame::response::result::{ColumnType, NativeType};
use crate::frame::types;
use crate::value::CqlVarintBorrowed;
use crate::value::{
Counter, CqlDate, CqlDecimal, CqlDecimalBorrowed, CqlDuration, CqlTime, CqlTimestamp,
CqlTimeuuid, CqlVarint,
deser_cql_value, Counter, CqlDate, CqlDecimal, CqlDecimalBorrowed, CqlDuration, CqlTime,
CqlTimestamp, CqlTimeuuid, CqlValue, CqlVarint,
};

/// A type that can be deserialized from a column value inside a row that was
Expand Down
6 changes: 2 additions & 4 deletions scylla-cql/src/deserialize/value_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,12 @@ use std::sync::Arc;
use crate::deserialize::value::{TupleDeserializationErrorKind, TupleTypeCheckErrorKind};
use crate::deserialize::{DeserializationError, FrameSlice, TypeCheckError};
use crate::frame::response::result::NativeType::*;
use crate::frame::response::result::{
CollectionType, ColumnType, CqlValue, NativeType, UserDefinedType,
};
use crate::frame::response::result::{CollectionType, ColumnType, NativeType, UserDefinedType};
use crate::serialize::value::SerializeValue;
use crate::serialize::CellWriter;
use crate::value::{
Counter, CqlDate, CqlDecimal, CqlDecimalBorrowed, CqlDuration, CqlTime, CqlTimestamp,
CqlTimeuuid, CqlVarint, CqlVarintBorrowed,
CqlTimeuuid, CqlValue, CqlVarint, CqlVarintBorrowed,
};

use super::{
Expand Down
Loading

0 comments on commit 6b48f80

Please sign in to comment.