Struct mysql::Pool[][src]

pub struct Pool { /* fields omitted */ }

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.

Methods

impl Pool
[src]

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

impl Clone for Pool
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Pool
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Pool

impl Sync for Pool