wtx 0.28.0

A collection of different transport implementations and related tools focused primarily on web technologies.
use crate::{
  database::{
    Identifier,
    client::mysql::{mysql_protocol::column_res::ColumnRes, ty_params::TyParams},
  },
  misc::Lease,
};

#[derive(Clone, Debug)]
pub(crate) struct Column {
  pub(crate) name: Identifier,
  pub(crate) ty_params: TyParams,
}

impl Column {
  #[inline]
  pub(crate) fn from_column_res(column_res: &ColumnRes) -> Self {
    let name = if column_res.alias.is_empty() { column_res.name } else { column_res.alias };
    Self { name, ty_params: TyParams::from_column_res(column_res) }
  }
}

impl Lease<str> for Column {
  #[inline]
  fn lease(&self) -> &str {
    self.name.as_str()
  }
}

impl Lease<TyParams> for Column {
  #[inline]
  fn lease(&self) -> &TyParams {
    &self.ty_params
  }
}