Make sure the internal split function get_corr_account_split
behaves consistently on multi-split transactions. The transaction
report depends on this.
Add test case to catch potential regressions
Simplify filter test function in transaction report.
The backends were using qof_backend_get_error() to test for sync errors.
This function clears the error, so the tests resulted in the error being
cleared before the session could see it and so it thought that the sync
had succeeded.
Replace those uses of qof_backend_get_error() with a new function
qof_backend_check_error() that doesn't clear the error.
Rewrite get_quote_time() to use the modern OO interface to Date::Manip.
This requires perl-5.12 or later, so require that. schemify_date() isn't
used anywhere, so remove that.
Windows XP doesn't provide a default key, just the TZI returned by
GetDefaultTimeZone(), so use that instead of throwing if there's no
default key in the registry. If GetDefaultTimeZone() files, throw: We
can't safely read the database without a timezone.
Turns out that there are changes as well as compression, particularly
if the timezone is different from the one from the last commit of the
gml2 files. Since there's no real benefit to saving the files most of
the time, don't, but leave the save line in, commented out, to make it
easy to write new files if necessary.
Gnc-fq-helper needs it to parse date and time strings from Finance::Quote.
The comment about using the iso-date field is removed because F::Q no
longer provides it.
Remove the KVP C API and consolidate use in a few files in libqof. For
almost all future use KVP should be accessed via
qof_instance_set/get_kvp() or qof_book_get/set_option(). These
interfaces will ensure that changes to KVP are immediately committed
unless they're called from inside a begin_edit/commit block to
consolidate a database transaction.
Some exceptional corner cases where direct access to KvpFrames are
abstracted into new objects in libqof. The KVP "bag" interface of
kvp-utils is removed and its single in Split.c made more direct with
qof_instance_kvp_foo_guid functions.
Account, Transaction, and Split use qof_instance_copy_kvp and
qof_instance_swap_kvp as part of their rollback facilities.
Resolves bugs 87652, 120250, 736139, and 736687.