From 6ffcf41b0f96316ee78ae4515737fd4b27396920 Mon Sep 17 00:00:00 2001 From: Ryan Leckey Date: Mon, 2 Mar 2020 00:49:05 -0800 Subject: [PATCH] implement RefExecutor ( allow Query/QueryAs ) for Transaction --- sqlx-core/src/transaction.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/sqlx-core/src/transaction.rs b/sqlx-core/src/transaction.rs index d8510210e..85b00efd0 100644 --- a/sqlx-core/src/transaction.rs +++ b/sqlx-core/src/transaction.rs @@ -6,7 +6,7 @@ use crate::connection::Connection; use crate::database::Database; use crate::database::HasCursor; use crate::describe::Describe; -use crate::executor::{Execute, Executor}; +use crate::executor::{Execute, Executor, RefExecutor}; use crate::runtime::spawn; // Transaction> @@ -127,6 +127,21 @@ where } } +impl<'c, DB, T> RefExecutor<'c> for &'c mut Transaction +where + DB: Database, + T: Connection, +{ + type Database = DB; + + fn fetch_by_ref<'q, E>(self, query: E) -> >::Cursor + where + E: Execute<'q, Self::Database>, + { + (**self).fetch(query) + } +} + impl Drop for Transaction where T: Connection,