sql_middleware/postgres/typed/
select.rs1use bb8::PooledConnection;
2
3use crate::executor::QueryTarget;
4use crate::middleware::{RowValues, SqlMiddlewareDbError};
5use crate::postgres::query::execute_query_on_client;
6use crate::postgres::query::execute_query_prepared_on_client;
7use crate::query_builder::QueryBuilder;
8use crate::results::ResultSet;
9
10use super::{PgConnection, PgManager};
11
12impl PgConnection<super::core::Idle> {
13 pub async fn select(
18 &mut self,
19 query: &str,
20 params: &[RowValues],
21 ) -> Result<ResultSet, SqlMiddlewareDbError> {
22 crate::postgres::executor::execute_select(self.conn_mut(), query, params).await
23 }
24
25 pub fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
27 QueryBuilder::new_target(
28 QueryTarget::from_typed_postgres(self.conn_mut(), false),
29 sql,
30 )
31 }
32}
33
34impl PgConnection<super::core::InTx> {
35 pub async fn select(
40 &mut self,
41 query: &str,
42 params: &[RowValues],
43 ) -> Result<ResultSet, SqlMiddlewareDbError> {
44 execute_query_on_client(self.conn_mut(), query, params).await
45 }
46
47 pub fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
49 QueryBuilder::new_target(QueryTarget::from_typed_postgres(self.conn_mut(), true), sql)
50 }
51}
52
53pub async fn select(
58 conn: &mut PooledConnection<'_, PgManager>,
59 query: &str,
60 params: &[RowValues],
61) -> Result<ResultSet, SqlMiddlewareDbError> {
62 execute_query_on_client(conn, query, params).await
63}
64
65pub async fn select_prepared(
70 conn: &mut PooledConnection<'_, PgManager>,
71 query: &str,
72 params: &[RowValues],
73) -> Result<ResultSet, SqlMiddlewareDbError> {
74 execute_query_prepared_on_client(conn, query, params).await
75}