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::query_builder::QueryBuilder;
7use crate::results::ResultSet;
8
9use super::{PgConnection, PgManager};
10
11impl PgConnection<super::core::Idle> {
12 pub async fn select(
17 &mut self,
18 query: &str,
19 params: &[RowValues],
20 ) -> Result<ResultSet, SqlMiddlewareDbError> {
21 crate::postgres::executor::execute_select(self.conn_mut(), query, params).await
22 }
23
24 pub fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
26 QueryBuilder::new_target(
27 QueryTarget::from_typed_postgres(self.conn_mut(), false),
28 sql,
29 )
30 }
31}
32
33impl PgConnection<super::core::InTx> {
34 pub async fn select(
39 &mut self,
40 query: &str,
41 params: &[RowValues],
42 ) -> Result<ResultSet, SqlMiddlewareDbError> {
43 execute_query_on_client(self.conn_mut(), query, params).await
44 }
45
46 pub fn query<'a>(&'a mut self, sql: &'a str) -> QueryBuilder<'a, 'a> {
48 QueryBuilder::new_target(QueryTarget::from_typed_postgres(self.conn_mut(), true), sql)
49 }
50}
51
52pub async fn select(
57 conn: &mut PooledConnection<'_, PgManager>,
58 query: &str,
59 params: &[RowValues],
60) -> Result<ResultSet, SqlMiddlewareDbError> {
61 execute_query_on_client(conn, query, params).await
62}