gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Fri Dec 3 16:34:36 EST 2021


Updated	 via  https://github.com/Gnucash/gnucash/commit/6f09eae0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1e80810e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b95df851 (commit)
	from  https://github.com/Gnucash/gnucash/commit/17a3f7fe (commit)



commit 6f09eae087fedfbb0afa6f7fd77b3839ae23e25e
Merge: 17a3f7fef 1e80810e4
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Dec 3 13:33:29 2021 -0800

    Merge Jean Laroche's 'ofx_combine_accounts' into maint.

commit 1e80810e4e3694a9f2c53454c278150f5010ee2f
Author: jean <27791933+jeanlaroche at users.noreply.github.com>
Date:   Mon Oct 18 09:08:33 2021 -0700

    Fix issue with failure to run reconciliation with all accounts present
    in a multi-account OFX file.
    Do that by saving a GList of statements, rather than a pointer to a single one.
    Also freeing of info happens during the call to process_next_file.

commit b95df85121566a7e37b64fc5bcdc3c4cd7b4836a
Author: jean <27791933+jeanlaroche at users.noreply.github.com>
Date:   Wed Oct 13 09:29:51 2021 -0700

    Import of OFX files with many securities opens too many matching dialogs
    Because ofx import is currently split per target account, and since each security has its own accounts, importing such OFX is a tedious process.
    The fix is to only split the transactions if we identify a potential transfer, currently based on amount, date and accounts.
    To do that, we insert transactions one by one into a list, making sure we have not already inserted one that has the same date, and the same absolute amount. If we have, we keep this potential transfer for a second phase.
    A naive approach would loop through added transactions for each new transaction by that ends up being O(N^2), which matters if we have many transactions. Instead, I'm using a hash to make this O(N log N).



Summary of changes:
 gnucash/import-export/ofx/gnc-ofx-import.c | 107 ++++++++++++++++++++++-------
 1 file changed, 83 insertions(+), 24 deletions(-)



More information about the gnucash-patches mailing list