Adding in generic for the query function of genericconnection

This commit is contained in:
Colin Maxfield 2019-12-28 16:32:01 -05:00
parent e8aef6579e
commit 793e83a4ef
3 changed files with 12 additions and 4 deletions

View File

@ -458,7 +458,10 @@ impl GenericConnection for Client {
fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error> { fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error> {
self.execute(query, params) self.execute(query, params)
} }
fn query(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error> { fn query<T>(&mut self, query: &T, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error>
where
T: ?Sized + ToStatement,
{
self.query(query, params) self.query(query, params)
} }
fn prepare(&mut self, query: &str) -> Result<Statement, Error> { fn prepare(&mut self, query: &str) -> Result<Statement, Error> {

View File

@ -1,4 +1,4 @@
use crate::{Statement, Transaction}; use crate::{Statement, ToStatement, Transaction};
use tokio_postgres::types::ToSql; use tokio_postgres::types::ToSql;
use tokio_postgres::{Error, Row}; use tokio_postgres::{Error, Row};
@ -8,7 +8,9 @@ pub trait GenericConnection {
fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error>; fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error>;
/// Like `Client::query`. /// Like `Client::query`.
fn query(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error>; fn query<T>(&mut self, query: &T, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error>
where
T: ?Sized + ToStatement;
/// Like `Client::prepare`. /// Like `Client::prepare`.
fn prepare(&mut self, query: &str) -> Result<Statement, Error>; fn prepare(&mut self, query: &str) -> Result<Statement, Error>;

View File

@ -184,7 +184,10 @@ impl<'a> GenericConnection for Transaction<'a> {
fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error> { fn execute(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<u64, Error> {
self.execute(query, params) self.execute(query, params)
} }
fn query(&mut self, query: &str, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error> { fn query<T>(&mut self, query: &T, params: &[&(dyn ToSql + Sync)]) -> Result<Vec<Row>, Error>
where
T: ?Sized + ToStatement,
{
self.query(query, params) self.query(query, params)
} }
fn prepare(&mut self, query: &str) -> Result<Statement, Error> { fn prepare(&mut self, query: &str) -> Result<Statement, Error> {