gnucash/libgnucash/backend/sql
John Ralls 5781f3445b 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.
2023-08-10 14:05:10 -07:00
..
test SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
.splintrc Restructure the src directory 2017-08-10 18:45:00 +02:00
CMakeLists.txt Merge branch 'maint' 2020-02-06 16:50:08 +01:00
escape.cpp Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
escape.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-account-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-account-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-address-sql.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-bill-term-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-bill-term-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-book-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-book-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-budget-sql.cpp Mark some QofLogModules as potentially unused 2023-02-06 14:12:31 +00:00
gnc-budget-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-commodity-sql.cpp Mark some QofLogModules as potentially unused 2023-02-06 14:12:31 +00:00
gnc-commodity-sql.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-customer-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-customer-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-employee-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-employee-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-entry-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-entry-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-invoice-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-invoice-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-job-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-job-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lots-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-lots-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-order-sql.cpp Mark some QofLogModules as potentially unused 2023-02-06 14:12:31 +00:00
gnc-order-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-owner-sql.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-price-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-price-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-recurrence-sql.cpp Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
gnc-recurrence-sql.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-schedxaction-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-schedxaction-sql.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-slots-sql.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-slots-sql.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-sql-backend.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-sql-backend.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-sql-column-table-entry.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-sql-column-table-entry.hpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-sql-connection.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-sql-object-backend.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-sql-object-backend.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-sql-result.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-sql-result.hpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-tax-table-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-tax-table-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-transaction-sql.cpp SQLBackend: Use std::optional return value instead of exceptions 2023-08-10 14:05:10 -07:00
gnc-transaction-sql.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-vendor-sql.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-vendor-sql.h Restructure the src directory 2017-08-10 18:45:00 +02:00