derive_sql/proxy/mysql/
conn.rs1use super::*;
2
3pub struct Conn<C>
4where C: ::mysql::prelude::Queryable
5{
6 conn: C,
7}
8
9impl<C> std::convert::From<C> for Conn<C>
10where C: ::mysql::prelude::Queryable
11{
12 fn from(conn: C) -> Self { Conn { conn } }
13}
14
15impl<C> MysqlTrait for Conn<C>
16where C: ::mysql::prelude::Queryable
17{
18 fn query_drop<Q>(&mut self, query: Q) -> DeriveSqlResult<()>
19 where Q: AsRef<str>
20 {
21 Ok(self.conn.query_drop(query)?)
22 }
23
24 fn query_first<T, Q>(&mut self, query: Q) -> DeriveSqlResult<Option<T>>
25 where Q: AsRef<str>,
26 T: ::mysql::prelude::FromRow
27 {
28 Ok(self.conn.query_first(query)?)
29 }
30
31 fn query_map<T, F, Q, U>(&mut self, query: Q, f: F) -> DeriveSqlResult<Vec<U>>
32 where Q: AsRef<str>,
33 T: ::mysql::prelude::FromRow,
34 F: FnMut(T) -> U
35 {
36 Ok(self.conn.query_map(query, f)?)
37 }
38
39 fn exec_drop<Q, P>(&mut self, query: Q, params: P) -> DeriveSqlResult<()>
40 where Q: AsRef<str>,
41 P: Into<::mysql::Params>
42 {
43 Ok(self.conn.exec_drop(query, params)?)
44 }
45}
46