taitan_orm/database/mysql/
api.rs1use crate::database::mysql::generator::MySqlSqlGenerator;
2use crate::executors::{SqlExecutorMut, SqlExecutor};
3use crate::{
4 reader_impl, reader_mut_impl, template_impl, template_mut_impl, writer_impl, writer_mut_impl,
5};
6use sqlx::MySql;
7use taitan_orm_trait::order::OrderBy;
8use taitan_orm_trait::page::{build_paged_list, PagedInfo, PagedList, Pagination};
9use taitan_orm_trait::result::Result;
10use taitan_orm_trait::traits::{
11 MySqlEntity, MySqlLocation, MySqlMutation, MySqlSelected, MySqlTemplate,
12 MySqlUnique, Parameter, Selected,
13};
14use taitan_orm_tracing::debug;
15
16pub trait ReaderApi: SqlExecutor<MySql> {
17 reader_impl!(
18 MySql,
19 MySqlSqlGenerator,
20 MySqlSelected,
21 MySqlMutation,
22 MySqlLocation,
23 MySqlUnique
24 );
25}
26impl<T> ReaderApi for T where T: SqlExecutor<MySql> {}
27
28pub trait ReaderMutApi: SqlExecutorMut<MySql> {
29 reader_mut_impl!(
30 MySql,
31 MySqlSqlGenerator,
32 MySqlSelected,
33 MySqlMutation,
34 MySqlLocation,
35 MySqlUnique
36 );
37}
38impl<T> ReaderMutApi for T where T: SqlExecutorMut<MySql> {}
39
40pub trait WriterApi: SqlExecutor<MySql> {
41 writer_impl!(
42 MySqlSqlGenerator,
43 MySqlEntity,
44 MySqlMutation,
45 MySqlLocation,
46 MySqlUnique
47 );
48}
49impl<T> WriterApi for T where T: SqlExecutor<MySql> {}
50
51pub trait WriterMutApi: SqlExecutorMut<MySql> {
52 writer_mut_impl!(
53 MySqlSqlGenerator,
54 MySqlEntity,
55 MySqlMutation,
56 MySqlLocation,
57 MySqlUnique
58 );
59}
60impl<T> WriterMutApi for T where T: SqlExecutorMut<MySql> {}
61
62pub trait TemplateApi: SqlExecutor<MySql> {
63 template_impl!(sqlx::MySql, MySqlSelected, MySqlTemplate);
64}
65impl<T> TemplateApi for T where T: SqlExecutor<MySql> {}
66
67pub trait TemplateMutApi: SqlExecutorMut<MySql> {
68 template_mut_impl!(sqlx::MySql, MySqlSelected, MySqlTemplate);
69}
70impl<T> TemplateMutApi for T where T: SqlExecutorMut<MySql> {}