Skip to main content

br_pgsql/
lib.rs

1use crate::config::Config;
2use crate::connect::Connect;
3use crate::pools::Pools;
4use json::JsonValue;
5
6mod config;
7pub mod connect;
8mod error;
9mod format;
10mod packet;
11pub mod pools;
12
13pub use error::PgsqlError;
14
15#[derive(Clone, Debug)]
16pub struct Pgsql {
17    pub config: Config,
18}
19
20impl Pgsql {
21    pub fn new(config: &JsonValue) -> Result<Self, PgsqlError> {
22        Ok(Self {
23            config: Config::new(config),
24        })
25    }
26
27    pub fn connect(&mut self) -> Result<Connect, PgsqlError> {
28        Connect::new(self.config.clone())
29    }
30
31    pub fn pools(&mut self) -> Result<Pools, PgsqlError> {
32        Pools::new(self.config.clone(), 20)
33    }
34}