diff --git a/geodiff/src/drivers/sqliteutils.cpp b/geodiff/src/drivers/sqliteutils.cpp index ebfe9c0d..17e55c19 100644 --- a/geodiff/src/drivers/sqliteutils.cpp +++ b/geodiff/src/drivers/sqliteutils.cpp @@ -34,6 +34,7 @@ void Sqlite3Db::open( const std::string &filename ) { throwSqliteError( mDb, "Unable to open " + filename + " as sqlite3 database" ); } + sqlite3_busy_timeout( mDb, GEODIFF_SQLITE_BUSY_TIMEOUT_MS ); } void Sqlite3Db::create( const std::string &filename ) @@ -50,6 +51,7 @@ void Sqlite3Db::create( const std::string &filename ) { throwSqliteError( mDb, "Unable to create " + filename + " as sqlite3 database" ); } + sqlite3_busy_timeout( mDb, GEODIFF_SQLITE_BUSY_TIMEOUT_MS ); } void Sqlite3Db::exec( const Buffer &buf ) diff --git a/geodiff/src/drivers/sqliteutils.h b/geodiff/src/drivers/sqliteutils.h index 048f9997..e91f96be 100644 --- a/geodiff/src/drivers/sqliteutils.h +++ b/geodiff/src/drivers/sqliteutils.h @@ -18,6 +18,7 @@ #define GPKG_NO_ENVELOPE_HEADER_SIZE 8 #define GPKG_FLAG_BYTE_POS 3 #define GPKG_ENVELOPE_SIZE_MASK 14 +#define GEODIFF_SQLITE_BUSY_TIMEOUT_MS 3000 class Buffer; class Context;