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 = "turso")]
14 AnyIdle::Turso(conn) => conn.query(sql),
15 #[allow(unreachable_patterns)]
16 _ => unreachable!("typed backends are not enabled"),
17 }
18 }
19}
20
21impl Queryable for AnyTx {
22 fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
23 match self {
24 #[cfg(feature = "postgres")]
25 AnyTx::Postgres(conn) => conn.query(sql),
26 #[cfg(feature = "sqlite")]
27 AnyTx::Sqlite(conn) => conn.query(sql),
28 #[cfg(feature = "turso")]
29 AnyTx::Turso(conn) => conn.query(sql),
30 #[allow(unreachable_patterns)]
31 _ => unreachable!("typed backends are not enabled"),
32 }
33 }
34}