From a5da9618f2ccc4cf17449e1ba06d5899e6e831cd Mon Sep 17 00:00:00 2001 From: LazyDope Date: Mon, 25 Sep 2023 17:29:43 -0400 Subject: [PATCH] feat(column_data): add SQL traits to ColumnData --- src/tds/codec/column_data.rs | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/tds/codec/column_data.rs b/src/tds/codec/column_data.rs index ada32781..424c8c5e 100644 --- a/src/tds/codec/column_data.rs +++ b/src/tds/codec/column_data.rs @@ -27,7 +27,7 @@ use super::{Encode, FixedLenType, TypeInfo, VarLenType}; use crate::tds::time::{Date, DateTime2, DateTimeOffset, Time}; use crate::{ tds::{time::DateTime, time::SmallDateTime, xml::XmlData, Numeric}, - SqlReadBytes, + FromSql, FromSqlOwned, IntoSql, SqlReadBytes, ToSql, }; use bytes::BufMut; pub(crate) use bytes_mut_with_type_info::BytesMutWithTypeInfo; @@ -689,6 +689,30 @@ impl<'a> Encode> for ColumnData<'a> { } } +impl<'a> FromSql<'a> for ColumnData<'a> { + fn from_sql(value: &'a ColumnData<'a>) -> crate::Result> { + Ok(Some(value.clone())) + } +} + +impl<'a> FromSqlOwned for ColumnData<'a> { + fn from_sql_owned(value: ColumnData<'a>) -> crate::Result> { + Ok(Some(value)) + } +} + +impl<'a> ToSql for ColumnData<'a> { + fn to_sql(&self) -> ColumnData<'a> { + self.clone() + } +} + +impl<'a> IntoSql<'a> for ColumnData<'a> { + fn into_sql(self) -> ColumnData<'a> { + self + } +} + #[cfg(test)] mod tests { use super::*;