gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu Aug 10 17:06:45 EDT 2023


Updated	 via  https://github.com/Gnucash/gnucash/commit/73dec63d (commit)
	 via  https://github.com/Gnucash/gnucash/commit/5781f344 (commit)
	from  https://github.com/Gnucash/gnucash/commit/beec4204 (commit)



commit 73dec63d1d63cccd1423c21c39626c4a4e5cc90d
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Aug 10 13:53:21 2023 -0700

    Eliminate a frequent exception in guid_from_string
    
    By not trying to construct a GUID from an empty string.

commit 5781f3445bd8e10c27ba173f259d9b72d0aef299
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Aug 10 13:36:39 2023 -0700

    SQLBackend: Use std::optional return value instead of exceptions
    
    For wrong value type when retrieving a value from the SQL results row.
    
    Profiling showed that most of the SQL load time was spent in handling
    these exceptions, and using std::optional instead produced a > 11x
    speedup (10 seconds vs. 115 seconds) when loading a large file.



Summary of changes:
 libgnucash/backend/dbi/gnc-dbisqlresult.cpp        |  45 +++---
 libgnucash/backend/dbi/gnc-dbisqlresult.hpp        |  12 +-
 libgnucash/backend/sql/gnc-address-sql.cpp         |  15 +-
 libgnucash/backend/sql/gnc-owner-sql.cpp           |   6 +-
 libgnucash/backend/sql/gnc-slots-sql.cpp           |  17 +-
 libgnucash/backend/sql/gnc-sql-backend.cpp         |   5 +-
 .../backend/sql/gnc-sql-column-table-entry.cpp     | 174 +++++++++------------
 .../backend/sql/gnc-sql-column-table-entry.hpp     |  54 ++++---
 libgnucash/backend/sql/gnc-sql-result.hpp          |  21 +--
 libgnucash/backend/sql/gnc-transaction-sql.cpp     |  38 ++---
 .../backend/sql/test/utest-gnc-backend-sql.cpp     |  10 +-
 libgnucash/engine/guid.cpp                         |   3 +-
 12 files changed, 183 insertions(+), 217 deletions(-)



More information about the gnucash-patches mailing list