gnucash stable: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sat Jun 21 19:44:20 EDT 2025
Updated via https://github.com/Gnucash/gnucash/commit/db883f97 (commit)
via https://github.com/Gnucash/gnucash/commit/c1eb5a69 (commit)
via https://github.com/Gnucash/gnucash/commit/60bc4cca (commit)
from https://github.com/Gnucash/gnucash/commit/b0c60fb3 (commit)
commit db883f972b022da16b107f27ae98f23a9011e084
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Jun 21 16:38:42 2025 -0700
Bug 799623 - test-backend-dbi fails after 2038
The first-line cause of the bug was that the safe save was failing on
SQLite3 because the backup tables weren't visible inside the
transaction and that prevented them from being dropped. Commit the
transaction before trying to drop the backup tables.
commit c1eb5a69803388ebd5500782904474a8e94f139c
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Jun 21 16:29:53 2025 -0700
[DBI Backend] Preserve int size when recovering from failed save-save.
Delete all rows and copy merged rows back into program-created table
instead of renaming the merge table. See
https://bugs.gnucash.org/show_bug.cgi?id=799623#c6 for explanation.
commit 60bc4ccab01e4101eb9389aca8f57d85e696c96d
Author: John Ralls <jralls at ceridwen.us>
Date: Sat Jun 21 16:33:51 2025 -0700
[test-dbi-backend] Test 64-bit integer insertion explicitly.
https://bugs.gnucash.org/show_bug.cgi?id=799623 identified a problem
with int64_t storage in SQLite3 by setting a date after 2038-01-23
whose time64 overflowed int32_t. But dates shouldn't be stored as
time64s, they should be stored as ISO 8601 date-time strings. So fix
the test to store the date correctly and to store the big int as an
int64_t.
Summary of changes:
libgnucash/backend/dbi/gnc-backend-dbi.cpp | 2 +-
libgnucash/backend/dbi/gnc-dbisqlconnection.cpp | 11 +++++++++--
libgnucash/backend/dbi/test/test-backend-dbi-basic.cpp | 7 +++++--
3 files changed, 15 insertions(+), 5 deletions(-)
More information about the gnucash-patches
mailing list