Struct mysql::Pool

source ·
pub struct Pool { /* private fields */ }
Expand description

Pool serves to provide you with a PooledConn’s. However you can prepare statements directly on Pool without invoking Pool::get_conn.

Pool will hold at least min connections and will create as many as max connections with possible overhead of one connection per alive thread.

Example of multithreaded Pool usage:

use mysql::{Pool, Opts};
use std::thread;

fn get_opts() -> Opts {
      // ...
}

let opts = get_opts();
let pool = Pool::new(opts).unwrap();
let mut threads = Vec::new();
for _ in 0..100 {
    let pool = pool.clone();
    threads.push(thread::spawn(move || {
        let mut result = pool.prep_exec("SELECT 1", ()).unwrap();
        assert_eq!(result.next().unwrap().unwrap().unwrap(), vec![1.into()]);
    }));
}
for t in threads.into_iter() {
    assert!(t.join().is_ok());
}

For more info on how to work with mysql connection please look at PooledConn documentation.

Implementations§

Creates new pool with min = 10 and max = 100.

Same as new but you can set min and max.

A way to turn off searching for cached statement (on by default).

If turned on, then calls to Pool::{prepare, prep_exec, first_exec} will search for cached statement through all connections in the pool. Useless if the value of the stmt_cache_size option is 0.

A way to turn off connection health check on each call to get_conn and prepare (prep_exec is not affected) (on by default).

Gives you a PooledConn.

Pool will check that connection is alive via Conn::ping and will call Conn::reset if necessary.

Will try to get connection for a duration of timeout_ms milliseconds.

Failure

This function will return Error::DriverError(DriverError::Timeout) if timeout was reached while waiting for new connection to become available.

Will prepare statement. See Conn::prepare.

It will try to find connection which has this statement cached.

Shortcut for pool.get_conn()?.prep_exec(..). See Conn::prep_exec.

It will try to find connection which has this statement cached.

Shortcut for pool.get_conn()?.start_transaction(..).

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.