stringqb/src/types.rs

29 lines
568 B
Rust

//! Shared Types for different Database drivers
use std::any::Any;
#[derive(Debug)]
pub struct Type(pub Box<dyn Any>);
/// Enum struct for mapping between database and Rust types
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
pub enum SQLType<T> {
Boolean(T),
SmallInt(T),
BigInt(T),
Text(T),
None,
}
impl<T> SQLType<T> {
pub fn is_some(&self) -> bool {
match *self {
SQLType::None => false,
_ => true,
}
}
pub fn is_none(&self) -> bool {
!self.is_some()
}
}