Skip to content

Commit 253bc1a

Browse files
committed
Prepare release of wxSQLite3 4.10.7
- Upgrade to SQLite3 Multiple Ciphers version 2.1.2 (SQLite version 3.50.0) - Add method wxSQLite3Database::SetLockTimeout()
1 parent e45d7ae commit 253bc1a

File tree

10 files changed

+3248
-1716
lines changed

10 files changed

+3248
-1716
lines changed

CHANGELOG.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [4.10.7] - 2025-06-01
11+
12+
- Upgrade to SQLite3 Multiple Ciphers version 2.1.2 (SQLite version 3.50.0)
13+
- Add method wxSQLite3Database::SetLockTimeout()
14+
1015
## [4.10.6] - 2025-05-05
1116

12-
- Add method wxSQLite3Database::Configure()<br>
17+
- Add method wxSQLite3Database::Configure()
1318
- Add missing wxSQLite3Database::Restore() method variant
14-
- Fix mapping between cipher ids and cipher names<br>
19+
- Fix mapping between cipher ids and cipher names
1520

1621
## [4.10.5] - 2025-03-04
1722

@@ -677,7 +682,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
677682

678683
- First public release
679684

680-
[Unreleased]: ../../compare/v4.10.6...HEAD
685+
[Unreleased]: ../../compare/v4.10.7...HEAD
686+
[4.10.7]: ../../compare/v4.10.6...v4.10.7
681687
[4.10.6]: ../../compare/v4.10.5...v4.10.6
682688
[4.10.5]: ../../compare/v4.10.4...v4.10.5
683689
[4.10.4]: ../../compare/v4.10.3...v4.10.4

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ dnl Copyright (C) 2017-2025 Ulrich Telle <github@telle-online.de>, Vadim Zeitlin
44
dnl
55
dnl This file is covered by the same licence as the entire wxSQLite3 package.
66

7-
AC_INIT([wxsqlite3], [4.10.6], [github@telle-online.de])
7+
AC_INIT([wxsqlite3], [4.10.7], [github@telle-online.de])
88

99
dnl This is the version tested with, might work with earlier ones.
1010
AC_PREREQ([2.69])

docs/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ PROJECT_NAME = wxSQLite3
4848
# could be handy for archiving the generated documentation or if some version
4949
# control system is used.
5050

51-
PROJECT_NUMBER = 4.10.6
51+
PROJECT_NUMBER = 4.10.7
5252

5353
# Using the PROJECT_BRIEF tag one can provide an optional one line description
5454
# for a project that appears at the top of each page and should give viewers a

include/wx/wxsqlite3.h

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
** Purpose: wxWidgets wrapper around the SQLite3 embedded database library.
44
** Author: Ulrich Telle
55
** Created: 2005-07-14
6-
** Copyright: (c) 2005-2024 Ulrich Telle
6+
** Copyright: (c) 2005-2025 Ulrich Telle
77
** License: LGPL-3.0+ WITH WxWindows-exception-3.1
88
*/
99

@@ -3487,6 +3487,33 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3Database
34873487
*/
34883488
void SetBusyTimeout(int milliSeconds);
34893489

3490+
/// Set the setlk timeout
3491+
/**
3492+
* This method sets a setlk timeout in ms used by eligible locks taken on wal mode databases
3493+
* by the specified database handle, if the VFS supports blocking locks. If the VFS does not
3494+
* support blocking locks, this function is a no-op.
3495+
*
3496+
* Passing 0 to this function disables blocking locks altogether. Passing -1 to this function
3497+
* requests that the VFS blocks for a long time - indefinitely if possible. The results of
3498+
* passing any other negative value are undefined.
3499+
*
3500+
* Internally, each SQLite database handle stores two timeout values - the busy-timeout
3501+
* (used for rollback mode databases, or if the VFS does not support blocking locks) and
3502+
* the setlk-timeout (used for blocking locks on wal-mode databases). The method
3503+
* SetBusyTimeout() sets both values, while this method sets only the setlk-timeout value.
3504+
* Therefore, to configure separate busy-timeout and setlk-timeout values for a single database
3505+
* handle, call SetBusyTimeout() followed by this method.
3506+
*
3507+
* Whenever the number of connections to a wal mode database falls from 1 to 0, the last
3508+
* connection takes an exclusive lock on the database, then checkpoints and deletes the wal file.
3509+
* While it is doing this, any new connection that tries to read from the database fails with an
3510+
* SQLITE_BUSY error. Or, if the blockOnConnect flag is true, the new connection blocks until
3511+
* the exclusive lock has been released.
3512+
* \param milliSeconds timeout in milliseconds
3513+
* \param blockOnConnect flag whether new connections should block until exclusive lock has been released
3514+
*/
3515+
void SetLockTimeout(int milliSeconds, bool blockOnConnect = false);
3516+
34903517
/// Set a database configuration option
34913518
/**
34923519
* This method allows to configure several database settings. Most settings can be changed
@@ -4027,7 +4054,7 @@ class WXDLLIMPEXP_SQLITE3 wxSQLite3Database
40274054

40284055
wxSQLite3DatabaseReference* m_db; ///< associated SQLite3 database
40294056
bool m_isOpen; ///< Flag whether the database is opened or not
4030-
int m_busyTimeoutMs; ///< Timeout in milli seconds
4057+
int m_busyTimeoutMs; ///< Busy timeout in milli seconds
40314058
bool m_isEncrypted; ///< Flag whether the database is encrypted or not
40324059
int m_lastRollbackRC; ///< The return code of the last executed rollback operation
40334060
int m_backupPageCount; ///< Number of pages per slice for backup and restore operations

include/wx/wxsqlite3_version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
#define WXSQLITE3_MAJOR_VERSION 4
1616
#define WXSQLITE3_MINOR_VERSION 10
17-
#define WXSQLITE3_RELEASE_NUMBER 6
17+
#define WXSQLITE3_RELEASE_NUMBER 7
1818
#define WXSQLITE3_SUBRELEASE_NUMBER 0
19-
#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.10.6"
19+
#define WXSQLITE3_VERSION_STRING "wxSQLite3 4.10.7"
2020

2121
#endif // WXSQLITE3_VERSION_H_

include/wx/wxsqlite3def.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,13 @@
4646
4747
<dl>
4848
49+
<dt><b>4.10.7</b> - <i>June 2025</i></dt>
50+
<dd>
51+
Upgrade to <i>SQLite3 Multiple Ciphers version 2.1.2 (SQLite version 3.50.0)</i><br>
52+
Add method wxSQLite3Database::SetLockTimeout()
53+
54+
</dd>
55+
4956
<dt><b>4.10.6</b> - <i>May 2025</i></dt>
5057
<dd>
5158
Add method wxSQLite3Database::Configure()<br>

readme.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,10 @@ Currently the _CMake_ support is experimental and limited to Windows platforms (
5252

5353
## <a name="history"></a>Version history
5454

55-
* 4.10.6 - *May 2025*
55+
* 4.10.7 - *June 2025*
5656

57-
- Add method wxSQLite3Database::Configure()<br>
58-
- Add missing wxSQLite3Database::Restore() method variant
59-
- Fix mapping between cipher ids and cipher names<br>
57+
- Upgrade to SQLite3 Multiple Ciphers version 2.1.2 (SQLite version 3.50.0)
58+
- Add method wxSQLite3Database::SetLockTimeout()
6059

6160
For further version information please consult the [CHANGELOG](CHANGELOG.md).
6261

0 commit comments

Comments
 (0)