sql_middleware/typed/any/
queryable.rs

1use 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}