From ae2e5db4b2532516f34886963ada75f60264ae29 Mon Sep 17 00:00:00 2001 From: Julius de Bruijn Date: Tue, 4 Aug 2020 18:31:56 +0200 Subject: [PATCH] SQLite: Allow setting `busy_timeout` in options --- sqlx-core/src/sqlite/connection/establish.rs | 32 ++++++++++++-------- sqlx-core/src/sqlite/options/mod.rs | 13 +++++++- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/sqlx-core/src/sqlite/connection/establish.rs b/sqlx-core/src/sqlite/connection/establish.rs index 6fd765d6..954cac4f 100644 --- a/sqlx-core/src/sqlite/connection/establish.rs +++ b/sqlx-core/src/sqlite/connection/establish.rs @@ -1,13 +1,3 @@ -use std::io; -use std::ptr::{null, null_mut}; - -use libsqlite3_sys::{ - sqlite3_busy_timeout, sqlite3_extended_result_codes, sqlite3_open_v2, SQLITE_OK, - SQLITE_OPEN_CREATE, SQLITE_OPEN_MEMORY, SQLITE_OPEN_NOMUTEX, SQLITE_OPEN_PRIVATECACHE, - SQLITE_OPEN_READONLY, SQLITE_OPEN_READWRITE, -}; -use sqlx_rt::blocking; - use crate::error::Error; use crate::sqlite::connection::handle::ConnectionHandle; use crate::sqlite::statement::StatementWorker; @@ -15,6 +5,17 @@ use crate::{ common::StatementCache, sqlite::{SqliteConnectOptions, SqliteConnection, SqliteError}, }; +use libsqlite3_sys::{ + sqlite3_busy_timeout, sqlite3_extended_result_codes, sqlite3_open_v2, SQLITE_OK, + SQLITE_OPEN_CREATE, SQLITE_OPEN_MEMORY, SQLITE_OPEN_NOMUTEX, SQLITE_OPEN_PRIVATECACHE, + SQLITE_OPEN_READONLY, SQLITE_OPEN_READWRITE, +}; +use sqlx_rt::blocking; +use std::io; +use std::{ + convert::TryFrom, + ptr::{null, null_mut}, +}; pub(crate) async fn establish(options: &SqliteConnectOptions) -> Result { let mut filename = options @@ -48,6 +49,8 @@ pub(crate) async fn establish(options: &SqliteConnectOptions) -> Result Result Self { + self.busy_timeout = timeout; + self + } }