29 lines
560 B
Rust
29 lines
560 B
Rust
//! Shared Types for different Database drivers
|
|
use std::any::Any;
|
|
|
|
#[derive(Debug)]
|
|
struct Type(pub Box<dyn Any>);
|
|
|
|
/// Enum struct for mapping between database and Rust types
|
|
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash)]
|
|
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()
|
|
}
|
|
}
|