Skip to content

Commit ac5366d

Browse files
committed
Added more parameters to connection pool docs
Signed-off-by: chandr-andr (Kiselev Aleksandr) <[email protected]>
1 parent 2b23c45 commit ac5366d

File tree

7 files changed

+41
-42
lines changed

7 files changed

+41
-42
lines changed

python/psqlpy/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
from psqlpy._internal import (
22
Connection,
33
ConnectionPool,
4-
ConnLoadBalanceHosts,
54
ConnRecyclingMethod,
6-
ConnTargetSessionAttrs,
75
Cursor,
86
IsolationLevel,
7+
LoadBalanceHosts,
98
QueryResult,
109
ReadVariant,
1110
SingleQueryResult,
11+
TargetSessionAttrs,
1212
Transaction,
1313
connect,
1414
)
@@ -24,6 +24,6 @@
2424
"IsolationLevel",
2525
"ReadVariant",
2626
"connect",
27-
"ConnLoadBalanceHosts",
28-
"ConnTargetSessionAttrs",
27+
"LoadBalanceHosts",
28+
"TargetSessionAttrs",
2929
]

python/psqlpy/_internal/__init__.pyi

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,15 @@ class IsolationLevel(Enum):
104104
RepeatableRead = 3
105105
Serializable = 4
106106

107-
class ConnLoadBalanceHosts(Enum):
107+
class LoadBalanceHosts(Enum):
108108
"""Load balancing configuration."""
109109

110110
# Make connection attempts to hosts in the order provided.
111111
Disable = 1
112112
# Make connection attempts to hosts in a random order.
113113
Random = 2
114114

115-
class ConnTargetSessionAttrs(Enum):
115+
class TargetSessionAttrs(Enum):
116116
"""Properties required of a session."""
117117

118118
# No special properties are required.
@@ -891,7 +891,7 @@ class ConnectionPool:
891891
port: Optional[int] = None,
892892
ports: Optional[List[int]] = None,
893893
db_name: Optional[str] = None,
894-
target_session_attrs: Optional[ConnTargetSessionAttrs] = None,
894+
target_session_attrs: Optional[TargetSessionAttrs] = None,
895895
options: Optional[str] = None,
896896
application_name: Optional[str] = None,
897897
connect_timeout_sec: Optional[int] = None,
@@ -904,7 +904,7 @@ class ConnectionPool:
904904
keepalives_interval_sec: Optional[int] = None,
905905
keepalives_interval_nanosec: Optional[int] = None,
906906
keepalives_retries: Optional[int] = None,
907-
load_balance_hosts: Optional[ConnLoadBalanceHosts] = None,
907+
load_balance_hosts: Optional[LoadBalanceHosts] = None,
908908
max_db_pool_size: int = 2,
909909
conn_recycling_method: Optional[ConnRecyclingMethod] = None,
910910
) -> None:
@@ -1028,7 +1028,7 @@ def connect(
10281028
port: Optional[int] = None,
10291029
ports: Optional[List[int]] = None,
10301030
db_name: Optional[str] = None,
1031-
target_session_attrs: Optional[ConnTargetSessionAttrs] = None,
1031+
target_session_attrs: Optional[TargetSessionAttrs] = None,
10321032
options: Optional[str] = None,
10331033
application_name: Optional[str] = None,
10341034
connect_timeout_sec: Optional[int] = None,
@@ -1041,7 +1041,7 @@ def connect(
10411041
keepalives_interval_sec: Optional[int] = None,
10421042
keepalives_interval_nanosec: Optional[int] = None,
10431043
keepalives_retries: Optional[int] = None,
1044-
load_balance_hosts: Optional[ConnLoadBalanceHosts] = None,
1044+
load_balance_hosts: Optional[LoadBalanceHosts] = None,
10451045
max_db_pool_size: int = 2,
10461046
conn_recycling_method: Optional[ConnRecyclingMethod] = None,
10471047
) -> ConnectionPool:

python/tests/test_connection_pool.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
from psqlpy import (
44
Connection,
55
ConnectionPool,
6-
ConnLoadBalanceHosts,
76
ConnRecyclingMethod,
8-
ConnTargetSessionAttrs,
7+
LoadBalanceHosts,
98
QueryResult,
9+
TargetSessionAttrs,
1010
connect,
1111
)
1212
from psqlpy.exceptions import DBPoolConfigurationError, RustPSQLDriverPyBaseError
@@ -102,13 +102,13 @@ async def test_build_pool_failure() -> None:
102102
@pytest.mark.parametrize(
103103
"target_session_attrs",
104104
[
105-
ConnTargetSessionAttrs.Any,
106-
ConnTargetSessionAttrs.ReadWrite,
107-
ConnTargetSessionAttrs.ReadOnly,
105+
TargetSessionAttrs.Any,
106+
TargetSessionAttrs.ReadWrite,
107+
TargetSessionAttrs.ReadOnly,
108108
],
109109
)
110110
async def test_pool_target_session_attrs(
111-
target_session_attrs: ConnTargetSessionAttrs,
111+
target_session_attrs: TargetSessionAttrs,
112112
) -> None:
113113
pg_pool = ConnectionPool(
114114
db_name="psqlpy_test",
@@ -118,7 +118,7 @@ async def test_pool_target_session_attrs(
118118
target_session_attrs=target_session_attrs,
119119
)
120120

121-
if target_session_attrs == ConnTargetSessionAttrs.ReadOnly:
121+
if target_session_attrs == TargetSessionAttrs.ReadOnly:
122122
with pytest.raises(expected_exception=RustPSQLDriverPyBaseError):
123123
await pg_pool.execute("SELECT 1")
124124
else:
@@ -128,12 +128,12 @@ async def test_pool_target_session_attrs(
128128
@pytest.mark.parametrize(
129129
"load_balance_hosts",
130130
[
131-
ConnLoadBalanceHosts.Disable,
132-
ConnLoadBalanceHosts.Random,
131+
LoadBalanceHosts.Disable,
132+
LoadBalanceHosts.Random,
133133
],
134134
)
135135
async def test_pool_load_balance_hosts(
136-
load_balance_hosts: ConnLoadBalanceHosts,
136+
load_balance_hosts: LoadBalanceHosts,
137137
) -> None:
138138
pg_pool = ConnectionPool(
139139
dsn="postgres://postgres:postgres@localhost:5432/psqlpy_test",

src/driver/common_options.rs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use deadpool_postgres::RecyclingMethod;
22
use pyo3::pyclass;
3-
use tokio_postgres::config::{LoadBalanceHosts, TargetSessionAttrs};
43

54
#[pyclass]
65
#[derive(Clone, Copy)]
@@ -23,26 +22,26 @@ impl ConnRecyclingMethod {
2322

2423
#[pyclass]
2524
#[derive(Clone, Copy)]
26-
pub enum ConnLoadBalanceHosts {
25+
pub enum LoadBalanceHosts {
2726
/// Make connection attempts to hosts in the order provided.
2827
Disable,
2928
/// Make connection attempts to hosts in a random order.
3029
Random,
3130
}
3231

33-
impl ConnLoadBalanceHosts {
32+
impl LoadBalanceHosts {
3433
#[must_use]
35-
pub fn to_internal(&self) -> LoadBalanceHosts {
34+
pub fn to_internal(&self) -> tokio_postgres::config::LoadBalanceHosts {
3635
match self {
37-
ConnLoadBalanceHosts::Disable => LoadBalanceHosts::Disable,
38-
ConnLoadBalanceHosts::Random => LoadBalanceHosts::Random,
36+
LoadBalanceHosts::Disable => tokio_postgres::config::LoadBalanceHosts::Disable,
37+
LoadBalanceHosts::Random => tokio_postgres::config::LoadBalanceHosts::Random,
3938
}
4039
}
4140
}
4241

4342
#[pyclass]
4443
#[derive(Clone, Copy)]
45-
pub enum ConnTargetSessionAttrs {
44+
pub enum TargetSessionAttrs {
4645
/// No special properties are required.
4746
Any,
4847
/// The session must allow writes.
@@ -51,13 +50,13 @@ pub enum ConnTargetSessionAttrs {
5150
ReadOnly,
5251
}
5352

54-
impl ConnTargetSessionAttrs {
53+
impl TargetSessionAttrs {
5554
#[must_use]
56-
pub fn to_internal(&self) -> TargetSessionAttrs {
55+
pub fn to_internal(&self) -> tokio_postgres::config::TargetSessionAttrs {
5756
match self {
58-
ConnTargetSessionAttrs::Any => TargetSessionAttrs::Any,
59-
ConnTargetSessionAttrs::ReadWrite => TargetSessionAttrs::ReadWrite,
60-
ConnTargetSessionAttrs::ReadOnly => TargetSessionAttrs::ReadOnly,
57+
TargetSessionAttrs::Any => tokio_postgres::config::TargetSessionAttrs::Any,
58+
TargetSessionAttrs::ReadWrite => tokio_postgres::config::TargetSessionAttrs::ReadWrite,
59+
TargetSessionAttrs::ReadOnly => tokio_postgres::config::TargetSessionAttrs::ReadOnly,
6160
}
6261
}
6362
}

src/driver/connection_pool.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{
1111
};
1212

1313
use super::{
14-
common_options::{ConnLoadBalanceHosts, ConnRecyclingMethod, ConnTargetSessionAttrs},
14+
common_options::{ConnRecyclingMethod, LoadBalanceHosts, TargetSessionAttrs},
1515
connection::Connection,
1616
utils::build_connection_config,
1717
};
@@ -31,7 +31,7 @@ pub fn connect(
3131
port: Option<u16>,
3232
ports: Option<Vec<u16>>,
3333
db_name: Option<String>,
34-
target_session_attrs: Option<ConnTargetSessionAttrs>,
34+
target_session_attrs: Option<TargetSessionAttrs>,
3535
options: Option<String>,
3636
application_name: Option<String>,
3737
connect_timeout_sec: Option<u64>,
@@ -44,7 +44,7 @@ pub fn connect(
4444
keepalives_interval_sec: Option<u64>,
4545
keepalives_interval_nanosec: Option<u32>,
4646
keepalives_retries: Option<u32>,
47-
load_balance_hosts: Option<ConnLoadBalanceHosts>,
47+
load_balance_hosts: Option<LoadBalanceHosts>,
4848

4949
max_db_pool_size: Option<usize>,
5050
conn_recycling_method: Option<ConnRecyclingMethod>,
@@ -124,7 +124,7 @@ impl ConnectionPool {
124124
port: Option<u16>,
125125
ports: Option<Vec<u16>>,
126126
db_name: Option<String>,
127-
target_session_attrs: Option<ConnTargetSessionAttrs>,
127+
target_session_attrs: Option<TargetSessionAttrs>,
128128
options: Option<String>,
129129
application_name: Option<String>,
130130
connect_timeout_sec: Option<u64>,
@@ -137,7 +137,7 @@ impl ConnectionPool {
137137
keepalives_interval_sec: Option<u64>,
138138
keepalives_interval_nanosec: Option<u32>,
139139
keepalives_retries: Option<u32>,
140-
load_balance_hosts: Option<ConnLoadBalanceHosts>,
140+
load_balance_hosts: Option<LoadBalanceHosts>,
141141
max_db_pool_size: Option<usize>,
142142
conn_recycling_method: Option<ConnRecyclingMethod>,
143143
) -> RustPSQLDriverPyResult<Self> {

src/driver/utils.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use std::{str::FromStr, time::Duration};
22

33
use crate::exceptions::rust_errors::{RustPSQLDriverError, RustPSQLDriverPyResult};
44

5-
use super::common_options::{ConnLoadBalanceHosts, ConnTargetSessionAttrs};
5+
use super::common_options::{LoadBalanceHosts, TargetSessionAttrs};
66

77
/// Create new config.
88
///
@@ -18,7 +18,7 @@ pub fn build_connection_config(
1818
port: Option<u16>,
1919
ports: Option<Vec<u16>>,
2020
db_name: Option<String>,
21-
target_session_attrs: Option<ConnTargetSessionAttrs>,
21+
target_session_attrs: Option<TargetSessionAttrs>,
2222
options: Option<String>,
2323
application_name: Option<String>,
2424
connect_timeout_sec: Option<u64>,
@@ -31,7 +31,7 @@ pub fn build_connection_config(
3131
keepalives_interval_sec: Option<u64>,
3232
keepalives_interval_nanosec: Option<u32>,
3333
keepalives_retries: Option<u32>,
34-
load_balance_hosts: Option<ConnLoadBalanceHosts>,
34+
load_balance_hosts: Option<LoadBalanceHosts>,
3535
) -> RustPSQLDriverPyResult<tokio_postgres::Config> {
3636
if tcp_user_timeout_nanosec.is_some() && tcp_user_timeout_sec.is_none() {
3737
return Err(RustPSQLDriverError::DataBasePoolConfigurationError(

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ fn psqlpy(py: Python<'_>, pymod: &Bound<'_, PyModule>) -> PyResult<()> {
2323
pymod.add_class::<driver::transaction_options::IsolationLevel>()?;
2424
pymod.add_class::<driver::transaction_options::ReadVariant>()?;
2525
pymod.add_class::<driver::common_options::ConnRecyclingMethod>()?;
26-
pymod.add_class::<driver::common_options::ConnLoadBalanceHosts>()?;
27-
pymod.add_class::<driver::common_options::ConnTargetSessionAttrs>()?;
26+
pymod.add_class::<driver::common_options::LoadBalanceHosts>()?;
27+
pymod.add_class::<driver::common_options::TargetSessionAttrs>()?;
2828
pymod.add_class::<query_result::PSQLDriverPyQueryResult>()?;
2929
pymod.add_class::<query_result::PSQLDriverSinglePyQueryResult>()?;
3030
add_module(py, pymod, "extra_types", extra_types_module)?;

0 commit comments

Comments
 (0)