taitan_orm/db.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
use crate::extractor::Extractor;
use crate::{
ReaderApi, SqlExecutor, SqlGeneratorContainer, SqlGenericExecutor, TemplateApi, WriterApi,
};
pub trait Executor:
ReaderApi
+ WriterApi
+ TemplateApi
+ Extractor
+ SqlExecutor
+ SqlGenericExecutor
+ SqlGeneratorContainer
{
}
impl<T> Executor for T where
T: ReaderApi
+ WriterApi
+ TemplateApi
+ Extractor
+ SqlExecutor
+ SqlGenericExecutor
+ SqlGeneratorContainer
{
}
// #[derive(Debug, Clone)]
// pub struct DB<
// T: Executor,
// >(pub T);
//
// impl<T> Deref for DB<T>
// where
// T: Executor
// {
// type Target = T;
// fn deref(&self) -> &Self::Target {
// &self.0
// }
// }
//
// impl<T> DerefMut for DB<T>
// where
// T: Executor,
// {
// fn deref_mut(&mut self) -> &mut Self::Target {
// &mut self.0
// }
// }