Skip to content

Commit

Permalink
Do not override max_connections for SQLite
Browse files Browse the repository at this point in the history
  • Loading branch information
tyt2y3 committed Oct 29, 2021
1 parent 058f6d5 commit 8338c23
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
20 changes: 20 additions & 0 deletions src/database/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,41 @@ impl ConnectOptions {
self
}

/// Get the maximum number of connections of the pool, if set
pub fn get_max_connections(&self) -> Option<u32> {
self.max_connections
}

/// Set the minimum number of connections of the pool
pub fn min_connections(&mut self, value: u32) -> &mut Self {
self.min_connections = Some(value);
self
}

/// Get the minimum number of connections of the pool, if set
pub fn get_min_connections(&self) -> Option<u32> {
self.min_connections
}

/// Set the timeout duration when acquiring a connection
pub fn connect_timeout(&mut self, value: Duration) -> &mut Self {
self.connect_timeout = Some(value);
self
}

/// Get the timeout duration when acquiring a connection, if set
pub fn get_connect_timeout(&self) -> Option<Duration> {
self.connect_timeout
}

/// Set the idle duration before closing a connection
pub fn idle_timeout(&mut self, value: Duration) -> &mut Self {
self.idle_timeout = Some(value);
self
}

/// Get the idle duration before closing a connection, if set
pub fn get_idle_timeout(&self) -> Option<Duration> {
self.idle_timeout
}
}
12 changes: 5 additions & 7 deletions src/driver/sqlx_sqlite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ impl SqlxSqliteConnector {
string.starts_with("sqlite:") && string.parse::<SqliteConnectOptions>().is_ok()
}

pub async fn connect(options: ConnectOptions) -> Result<DatabaseConnection, DbErr> {
pub async fn connect(mut options: ConnectOptions) -> Result<DatabaseConnection, DbErr> {
let mut opt = options
.url
.parse::<SqliteConnectOptions>()
Expand All @@ -37,12 +37,10 @@ impl SqlxSqliteConnector {
use sqlx::ConnectOptions;
opt.disable_statement_logging();
}
if let Ok(pool) = options
.pool_options()
.max_connections(1)
.connect_with(opt)
.await
{
if options.get_max_connections().is_none() {
options.max_connections(1);
}
if let Ok(pool) = options.pool_options().connect_with(opt).await {
Ok(DatabaseConnection::SqlxSqlitePoolConnection(
SqlxSqlitePoolConnection { pool },
))
Expand Down

0 comments on commit 8338c23

Please sign in to comment.