Struct sqlx_core::pool::PoolConnection
source · pub struct PoolConnection<DB: Database> { /* private fields */ }
Expand description
A connection managed by a Pool
.
Will be returned to the pool on-drop.
Implementations§
source§impl<DB: Database> PoolConnection<DB>
impl<DB: Database> PoolConnection<DB>
sourcepub fn detach(self) -> DB::Connection
pub fn detach(self) -> DB::Connection
Detach this connection from the pool, allowing it to open a replacement.
Note that if your application uses a single shared pool, this
effectively lets the application exceed the max_connections
setting.
If min_connections
is nonzero, a task will be spawned to replace this connection.
If you want the pool to treat this connection as permanently checked-out,
use .leak()
instead.
sourcepub fn leak(self) -> DB::Connection
pub fn leak(self) -> DB::Connection
Detach this connection from the pool, treating it as permanently checked-out.
This effectively will reduce the maximum capacity of the pool by 1 every time it is used.
If you don’t want to impact the pool’s capacity, use .detach()
instead.
Trait Implementations§
source§impl<'c> Acquire<'c> for &'c mut PoolConnection<Any>
impl<'c> Acquire<'c> for &'c mut PoolConnection<Any>
source§impl<'c> Acquire<'c> for &'c mut PoolConnection<Mssql>
impl<'c> Acquire<'c> for &'c mut PoolConnection<Mssql>
source§impl<'c> Acquire<'c> for &'c mut PoolConnection<MySql>
impl<'c> Acquire<'c> for &'c mut PoolConnection<MySql>
source§impl<'c> Acquire<'c> for &'c mut PoolConnection<Postgres>
impl<'c> Acquire<'c> for &'c mut PoolConnection<Postgres>
source§impl<'c> Acquire<'c> for &'c mut PoolConnection<Sqlite>
impl<'c> Acquire<'c> for &'c mut PoolConnection<Sqlite>
source§impl<DB: Database> AsMut<<DB as Database>::Connection> for PoolConnection<DB>
impl<DB: Database> AsMut<<DB as Database>::Connection> for PoolConnection<DB>
source§fn as_mut(&mut self) -> &mut DB::Connection
fn as_mut(&mut self) -> &mut DB::Connection
Converts this type into a mutable reference of the (usually inferred) input type.
source§impl<DB: Database> AsRef<<DB as Database>::Connection> for PoolConnection<DB>
impl<DB: Database> AsRef<<DB as Database>::Connection> for PoolConnection<DB>
source§fn as_ref(&self) -> &DB::Connection
fn as_ref(&self) -> &DB::Connection
Converts this type into a shared reference of the (usually inferred) input type.
source§impl<DB: Database> Debug for PoolConnection<DB>
impl<DB: Database> Debug for PoolConnection<DB>
source§impl<DB: Database> Deref for PoolConnection<DB>
impl<DB: Database> Deref for PoolConnection<DB>
source§impl<DB: Database> DerefMut for PoolConnection<DB>
impl<DB: Database> DerefMut for PoolConnection<DB>
source§impl<DB: Database> Drop for PoolConnection<DB>
impl<DB: Database> Drop for PoolConnection<DB>
Returns the connection to the Pool
it was checked-out from.
source§impl<'c> Executor<'c> for &'c mut PoolConnection<Any>
impl<'c> Executor<'c> for &'c mut PoolConnection<Any>
type Database = Any
source§fn fetch_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<Either<<Any as Database>::QueryResult, AnyRow>, Error>>where
E: Execute<'q, Any> + 'q,
'c: 'e,
fn fetch_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<Either<<Any as Database>::QueryResult, AnyRow>, Error>>where E: Execute<'q, Any> + 'q, 'c: 'e,
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Option<AnyRow>, Error>>where
E: Execute<'q, Any> + 'q,
'c: 'e,
fn fetch_optional<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Option<AnyRow>, Error>>where E: Execute<'q, Any> + 'q, 'c: 'e,
Execute the query and returns at most one row.
source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
parameters: &'e [<Any as Database>::TypeInfo]
) -> BoxFuture<'e, Result<<Any as HasStatement<'q>>::Statement, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>( self, sql: &'q str, parameters: &'e [<Any as Database>::TypeInfo] ) -> BoxFuture<'e, Result<<Any as HasStatement<'q>>::Statement, Error>>where 'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
source§fn execute<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the total number of rows affected.
source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute multiple queries and return the rows affected from each query, in a stream.
source§fn fetch<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the generated results as a stream.
source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch_all<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return all the generated results, collected into a
Vec
.source§impl<'c> Executor<'c> for &'c mut PoolConnection<Mssql>
impl<'c> Executor<'c> for &'c mut PoolConnection<Mssql>
type Database = Mssql
source§fn fetch_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<Either<<Mssql as Database>::QueryResult, MssqlRow>, Error>>where
E: Execute<'q, Mssql> + 'q,
'c: 'e,
fn fetch_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<Either<<Mssql as Database>::QueryResult, MssqlRow>, Error>>where E: Execute<'q, Mssql> + 'q, 'c: 'e,
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Option<MssqlRow>, Error>>where
E: Execute<'q, Mssql> + 'q,
'c: 'e,
fn fetch_optional<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Option<MssqlRow>, Error>>where E: Execute<'q, Mssql> + 'q, 'c: 'e,
Execute the query and returns at most one row.
source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
parameters: &'e [<Mssql as Database>::TypeInfo]
) -> BoxFuture<'e, Result<<Mssql as HasStatement<'q>>::Statement, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>( self, sql: &'q str, parameters: &'e [<Mssql as Database>::TypeInfo] ) -> BoxFuture<'e, Result<<Mssql as HasStatement<'q>>::Statement, Error>>where 'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
source§fn execute<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the total number of rows affected.
source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute multiple queries and return the rows affected from each query, in a stream.
source§fn fetch<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the generated results as a stream.
source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch_all<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return all the generated results, collected into a
Vec
.source§impl<'c> Executor<'c> for &'c mut PoolConnection<MySql>
impl<'c> Executor<'c> for &'c mut PoolConnection<MySql>
type Database = MySql
source§fn fetch_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<Either<<MySql as Database>::QueryResult, MySqlRow>, Error>>where
E: Execute<'q, MySql> + 'q,
'c: 'e,
fn fetch_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<Either<<MySql as Database>::QueryResult, MySqlRow>, Error>>where E: Execute<'q, MySql> + 'q, 'c: 'e,
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Option<MySqlRow>, Error>>where
E: Execute<'q, MySql> + 'q,
'c: 'e,
fn fetch_optional<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Option<MySqlRow>, Error>>where E: Execute<'q, MySql> + 'q, 'c: 'e,
Execute the query and returns at most one row.
source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
parameters: &'e [<MySql as Database>::TypeInfo]
) -> BoxFuture<'e, Result<<MySql as HasStatement<'q>>::Statement, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>( self, sql: &'q str, parameters: &'e [<MySql as Database>::TypeInfo] ) -> BoxFuture<'e, Result<<MySql as HasStatement<'q>>::Statement, Error>>where 'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
source§fn execute<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the total number of rows affected.
source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute multiple queries and return the rows affected from each query, in a stream.
source§fn fetch<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the generated results as a stream.
source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch_all<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return all the generated results, collected into a
Vec
.source§impl<'c> Executor<'c> for &'c mut PoolConnection<Postgres>
impl<'c> Executor<'c> for &'c mut PoolConnection<Postgres>
type Database = Postgres
source§fn fetch_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<Either<<Postgres as Database>::QueryResult, PgRow>, Error>>where
E: Execute<'q, Postgres> + 'q,
'c: 'e,
fn fetch_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<Either<<Postgres as Database>::QueryResult, PgRow>, Error>>where E: Execute<'q, Postgres> + 'q, 'c: 'e,
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Option<PgRow>, Error>>where
E: Execute<'q, Postgres> + 'q,
'c: 'e,
fn fetch_optional<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Option<PgRow>, Error>>where E: Execute<'q, Postgres> + 'q, 'c: 'e,
Execute the query and returns at most one row.
source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
parameters: &'e [<Postgres as Database>::TypeInfo]
) -> BoxFuture<'e, Result<<Postgres as HasStatement<'q>>::Statement, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>( self, sql: &'q str, parameters: &'e [<Postgres as Database>::TypeInfo] ) -> BoxFuture<'e, Result<<Postgres as HasStatement<'q>>::Statement, Error>>where 'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
source§fn execute<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the total number of rows affected.
source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute multiple queries and return the rows affected from each query, in a stream.
source§fn fetch<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the generated results as a stream.
source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch_all<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return all the generated results, collected into a
Vec
.source§impl<'c> Executor<'c> for &'c mut PoolConnection<Sqlite>
impl<'c> Executor<'c> for &'c mut PoolConnection<Sqlite>
type Database = Sqlite
source§fn fetch_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<Either<<Sqlite as Database>::QueryResult, SqliteRow>, Error>>where
E: Execute<'q, Sqlite> + 'q,
'c: 'e,
fn fetch_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<Either<<Sqlite as Database>::QueryResult, SqliteRow>, Error>>where E: Execute<'q, Sqlite> + 'q, 'c: 'e,
Execute multiple queries and return the generated results as a stream
from each query, in a stream.
source§fn fetch_optional<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Option<SqliteRow>, Error>>where
E: Execute<'q, Sqlite> + 'q,
'c: 'e,
fn fetch_optional<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Option<SqliteRow>, Error>>where E: Execute<'q, Sqlite> + 'q, 'c: 'e,
Execute the query and returns at most one row.
source§fn prepare_with<'e, 'q: 'e>(
self,
sql: &'q str,
parameters: &'e [<Sqlite as Database>::TypeInfo]
) -> BoxFuture<'e, Result<<Sqlite as HasStatement<'q>>::Statement, Error>>where
'c: 'e,
fn prepare_with<'e, 'q: 'e>( self, sql: &'q str, parameters: &'e [<Sqlite as Database>::TypeInfo] ) -> BoxFuture<'e, Result<<Sqlite as HasStatement<'q>>::Statement, Error>>where 'c: 'e,
Prepare the SQL query, with parameter type information, to inspect the
type information about its parameters and results. Read more
source§fn execute<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the total number of rows affected.
source§fn execute_many<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn execute_many<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::QueryResult, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute multiple queries and return the rows affected from each query, in a stream.
source§fn fetch<'e, 'q: 'e, E>(
self,
query: E
) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch<'e, 'q: 'e, E>( self, query: E ) -> BoxStream<'e, Result<<Self::Database as Database>::Row, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return the generated results as a stream.
source§fn fetch_all<'e, 'q: 'e, E>(
self,
query: E
) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where
E: Execute<'q, Self::Database> + 'q,
'c: 'e,
fn fetch_all<'e, 'q: 'e, E>( self, query: E ) -> BoxFuture<'e, Result<Vec<<Self::Database as Database>::Row>, Error>>where E: Execute<'q, Self::Database> + 'q, 'c: 'e,
Execute the query and return all the generated results, collected into a
Vec
.Auto Trait Implementations§
impl<DB> !RefUnwindSafe for PoolConnection<DB>
impl<DB> Send for PoolConnection<DB>
impl<DB> Sync for PoolConnection<DB>where <DB as Database>::Connection: Sync,
impl<DB> Unpin for PoolConnection<DB>where <DB as Database>::Connection: Unpin,
impl<DB> !UnwindSafe for PoolConnection<DB>
Blanket Implementations§
source§impl<T> ToHex for Twhere
T: AsRef<[u8]>,
impl<T> ToHex for Twhere T: AsRef<[u8]>,
source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Lower case
letters are used (e.g. f9b4ca
)source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere U: FromIterator<char>,
Encode the hex strict representing
self
into the result. Upper case
letters are used (e.g. F9B4CA
)