sql_middleware/typed/any/
queryable.rs1use crate::query_builder::QueryBuilder;
2use crate::typed::traits::Queryable;
3
4use super::{AnyIdle, AnyTx};
5
6impl Queryable for AnyIdle {
7 fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
8 match self {
9 #[cfg(feature = "postgres")]
10 AnyIdle::Postgres(conn) => conn.query(sql),
11 #[cfg(feature = "sqlite")]
12 AnyIdle::Sqlite(conn) => conn.query(sql),
13 #[cfg(feature = "mssql")]
14 AnyIdle::Mssql(conn) => conn.query(sql),
15 #[cfg(feature = "turso")]
16 AnyIdle::Turso(conn) => conn.query(sql),
17 #[allow(unreachable_patterns)]
18 _ => unreachable!("typed backends are not enabled"),
19 }
20 }
21}
22
23impl Queryable for AnyTx {
24 fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
25 match self {
26 #[cfg(feature = "postgres")]
27 AnyTx::Postgres(conn) => conn.query(sql),
28 #[cfg(feature = "sqlite")]
29 AnyTx::Sqlite(conn) => conn.query(sql),
30 #[cfg(feature = "mssql")]
31 AnyTx::Mssql(conn) => conn.query(sql),
32 #[cfg(feature = "turso")]
33 AnyTx::Turso(conn) => conn.query(sql),
34 #[allow(unreachable_patterns)]
35 _ => unreachable!("typed backends are not enabled"),
36 }
37 }
38}