Skip to content

Commit

Permalink
comment
Browse files Browse the repository at this point in the history
  • Loading branch information
0xEdgar committed Mar 4, 2024
1 parent 7c8feff commit 0ee6f18
Showing 1 changed file with 2 additions and 55 deletions.
57 changes: 2 additions & 55 deletions src/types/from_sql.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,61 +175,8 @@ impl<'a> FromSql<'a> for uuid::Uuid {
}
}

// macro_rules! from_sql_vec_impl {
// ( $( $t:ty: $k:pat => $f:expr ),* ) => {
// $(
// impl<'a> FromSql<'a> for Vec<$t> {
// fn from_sql(value: ValueRef<'a>) -> FromSqlResult<Self> {
// match value {
// ValueRef::Array($k, vs) => {
// let f: fn(ValueRef<'a>) -> FromSqlResult<$t> = $f;
// let mut result = Vec::with_capacity(vs.len());
// for r in vs.iter() {
// let value: $t = f(r.clone())?;
// result.push(value);
// }
// Ok(result)
// }
// _ => {
// let from = SqlType::from(value.clone()).to_string();
// Err(Error::FromSql(FromSqlError::InvalidType {
// src: from,
// dst: format!("Vec<{}>", stringify!($t)).into(),
// }))
// }
// }
// }
// }
// )*
// // New implementation for nested Vec<Vec<T>>
// $(
// impl<'a> FromSql<'a> for Vec<Vec<$t>> {
// fn from_sql(value: ValueRef<'a>) -> FromSqlResult<Self> {
// match value {
// ValueRef::Array(SqlType::Array(_), outer_vs) => {
// outer_vs.iter().map(|outer_v| match outer_v {
// ValueRef::Array($k, inner_vs) => {
// let f: fn(ValueRef<'a>) -> FromSqlResult<$t> = $f;
// inner_vs.iter().map(|inner_v| f(inner_v.clone())).collect()
// },
// _ => Err(Error::FromSql(FromSqlError::InvalidType {
// src: SqlType::from(outer_v.clone()).to_string(),
// dst: format!("Vec<Vec<{}>>", stringify!($t)).into(),
// })),
// }).collect()
// },
// _ => Err(Error::FromSql(FromSqlError::InvalidType {
// src: SqlType::from(value.clone()).to_string(),
// dst: "Vec<Vec<_>>".into(),
// })),
// }
// }
// }
// )*

// };
// }
macro_rules! from_sql_vec_impl {
// Base case: Vec<T>
(
$($t:ty: $k:pat => $f:expr),*
) => {
Expand All @@ -256,7 +203,7 @@ macro_rules! from_sql_vec_impl {
}
}
}

// Recursive case: Vec<Vec<T>>
impl<'a> FromSql<'a> for Vec<Vec<$t>> {
fn from_sql(value: ValueRef<'a>) -> FromSqlResult<Self> {
match value {
Expand Down

0 comments on commit 0ee6f18

Please sign in to comment.