use sqlx_core::column::Column;
use sqlx_core::ext::ustr::UStr;
use crate::database::Spg;
use crate::type_info::SpgTypeInfo;
#[derive(Debug, Clone)]
pub struct SpgColumn {
ordinal: usize,
name: UStr,
type_info: SpgTypeInfo,
}
impl SpgColumn {
#[must_use]
pub fn new(ordinal: usize, name: impl Into<String>, type_info: SpgTypeInfo) -> Self {
let owned: String = name.into();
Self {
ordinal,
name: UStr::new(&owned),
type_info,
}
}
}
impl Column for SpgColumn {
type Database = Spg;
fn ordinal(&self) -> usize {
self.ordinal
}
fn name(&self) -> &str {
&self.name
}
fn type_info(&self) -> &SpgTypeInfo {
&self.type_info
}
}