gnucash unstable: Multiple changes pushed
Geert Janssens
gjanssens at code.gnucash.org
Sat Dec 23 09:39:47 EST 2017
Updated via https://github.com/Gnucash/gnucash/commit/2f96b19c (commit)
via https://github.com/Gnucash/gnucash/commit/a80318ec (commit)
via https://github.com/Gnucash/gnucash/commit/a23438d5 (commit)
via https://github.com/Gnucash/gnucash/commit/805549ba (commit)
via https://github.com/Gnucash/gnucash/commit/fbf4843f (commit)
via https://github.com/Gnucash/gnucash/commit/f782be1a (commit)
via https://github.com/Gnucash/gnucash/commit/3312fe2d (commit)
via https://github.com/Gnucash/gnucash/commit/29ad8ff9 (commit)
via https://github.com/Gnucash/gnucash/commit/4a88f05d (commit)
via https://github.com/Gnucash/gnucash/commit/5b031829 (commit)
via https://github.com/Gnucash/gnucash/commit/f260a01b (commit)
via https://github.com/Gnucash/gnucash/commit/55154959 (commit)
via https://github.com/Gnucash/gnucash/commit/d9eebd33 (commit)
via https://github.com/Gnucash/gnucash/commit/5636afc4 (commit)
via https://github.com/Gnucash/gnucash/commit/2cda65e0 (commit)
via https://github.com/Gnucash/gnucash/commit/9d7ec35c (commit)
via https://github.com/Gnucash/gnucash/commit/eb6dad86 (commit)
via https://github.com/Gnucash/gnucash/commit/b3667c76 (commit)
via https://github.com/Gnucash/gnucash/commit/08aa0104 (commit)
via https://github.com/Gnucash/gnucash/commit/34e0d6cf (commit)
via https://github.com/Gnucash/gnucash/commit/eb6c741b (commit)
from https://github.com/Gnucash/gnucash/commit/ddfd38d8 (commit)
commit 2f96b19c77675a883efce2eed6ecfd4d53551fad
Merge: ddfd38d a80318e
Author: Geert Janssens <geert at kobaltwit.be>
Date: Sat Dec 23 15:10:48 2017 +0100
Merge branch 'fix_bayes' of https://github.com/limitedAtonement/gnucash into unstable
commit a80318ec5f05715b843bf0a038159076342ae0db
Author: lmat <dartme18 at gmail.com>
Date: Thu Dec 21 07:41:07 2017 -0500
Adding to version info to feature string
commit a23438d5fbbc6cdb24d26f5a921b70fecb64750b
Author: lmat <dartme18 at gmail.com>
Date: Tue Dec 12 09:34:44 2017 -0800
Correct string cache code
string cache replace was incorrect and covered by gpointer casting.
commit 805549ba247f79308f5e18e40f8999359dcc6e2a
Author: lmat <dartme18 at gmail.com>
Date: Sun Dec 10 05:42:08 2017 -0800
Rename qofinstance function
This function was supposed to be renamed a while back. I had named it
this way for debugging purposes.
commit fbf4843f31b69eb588d6b47978aa1b8b2265324d
Author: lmat <dartme18 at gmail.com>
Date: Sat Dec 9 19:49:03 2017 -0800
Changed bayes import map design
This commit introduces a new feature flag:
GNC_FEATURE_GUID_FLAT_BAYESIAN. It signifies that the bayes import map
data are stored flat and by guid. Any time bayes import map data are
accessed, they are converted if necessary.
commit f782be1a5116a48b9e8521890da727561742520b
Author: lmat <dartme18 at gmail.com>
Date: Wed Dec 6 13:52:01 2017 -0800
Code review responses
Using Aliases to represent cmplicated types
Corrected variable-sized array on stack
Using PascalCase for type names and aliases
commit 3312fe2dcdc6a97e5c604b9149bd2026241ac7ff
Author: lmat <dartme18 at gmail.com>
Date: Fri Dec 1 13:40:06 2017 -0500
Changed some constants to constexpr
commit 29ad8ff9b07165d88d5fa722e233618c9610fe47
Author: lmat <dartme18 at gmail.com>
Date: Tue Nov 28 17:15:07 2017 -0500
Remove unused kvp function
commit 4a88f05d1159350812969d952bf3d3d9a5173c9a
Author: lmat <dartme18 at gmail.com>
Date: Tue Nov 28 15:44:20 2017 -0500
kvp string: allocate enough space
We need to allocate enough space for the terminating null character.
Also, I double-checked the documents for std::basic_string::c_str () and
verified that it does guarantee the terminating null, so I put a comment
in the code that depends on that.
commit 5b03182963de1cc5c7e7a3d7cc6fd29ce6339848
Author: lmat <dartme18 at gmail.com>
Date: Tue Nov 28 15:43:24 2017 -0500
Correct kvp to_string typo
commit f260a01bfd523886c807b3c901b0700712f577cd
Author: lmat <dartme18 at gmail.com>
Date: Thu Nov 16 12:57:31 2017 -0500
Keep tokens as they are, don't translate them
Before, it was necessary to remove '/' from tokens so that they won't be
divided up within kvp. Now that kvp doesn't parse tokens, it's okay to
pass '/', and it's better not to translate user-provided tokens if at all
possible.
commit 551549598a45aff0accef9125b8100f7cf0f1330
Author: lmat <dartme18 at gmail.com>
Date: Wed Nov 15 15:24:45 2017 -0500
Corrected memory management issue
commit d9eebd332b52b774f3ad5b4f0c85ce7ba0419381
Author: lmat <dartme18 at gmail.com>
Date: Thu Nov 9 16:33:58 2017 -0500
Renaming functions to get rid of temporary name
_var_ was used to make sure I caught all references, but isn't intended
as a permanent name.
commit 5636afc4a298c355a5ffb6f849a21977aba3ac9a
Author: lmat <dartme18 at gmail.com>
Date: Mon Nov 6 14:51:25 2017 -0500
Kvp no longer parses entries looking for delimiters
commit 2cda65e01237db48bf5399bfb1b1bdbce156830f
Author: lmat <dartme18 at gmail.com>
Date: Fri Nov 3 21:27:48 2017 -0400
Added test for and corrected get_bayes_info
commit 9d7ec35ce5ff59ffe5cf0bf65b1623bea5f52422
Author: lmat <dartme18 at gmail.com>
Date: Thu Nov 2 15:42:22 2017 -0400
Removed qof_instance_set_kvp, qof_instance_get_kvp
And replaced them with versions that take lists of key path elements.
This is in an effort to eliminate the parsing of kvp keys.
commit eb6dad86e3dc48ceaebf586b280b1fc09d8087b7
Author: lmat <dartme18 at gmail.com>
Date: Fri Oct 27 11:09:42 2017 -0400
Fixed conversion problem
The conversion assumed there were only three levels to bayes import
map kvp: IMAP token, user-supplied token, GUID/account name. In
actuality, since user-supplied tokens could have the delimiter in them,
there could be several. This fix takes that into account like so:
IMAP token, potentially several user-supplied tokens, GUID/account name.
The import map is undergoing two conversions at the same time: account names
to guids and an hierarchical representation to a flat representation in KVP.
commit b3667c76fcca6f374b0e7a52da1023e39713c5da
Author: lmat <dartme18 at gmail.com>
Date: Thu Oct 19 15:42:32 2017 -0400
Implement flat bayes kvp
The bayes data are stored in the KVP store. Before this commit, they are
stored under /import-map-bayes/<token>/<account guid>/count (where count
is the datum that "matters" in bayes matching).
The problem with this is that any token including the kvp delimiter
(currently '/') gets divided, and is not found correctly during bayes
kvp searching. The quickest solution to this is to replace all "/"
characters with some other character. That has been done, along with a
re-structuring of the bayes matching code to take advantage of c++
features to make the code more concise and readable.
Also modified some test functions to fix leaks and double-frees: the
same kvp value can't be in the kvp tree twice.
Also, when I added code to clean up after the tests, some things started
breaking due to double-delete. Apparently const_cast was hiding some
programming errors. Really? You don't say? When giving a GUID* to KvpValue,
the latter takes ownership of the former.
commit 08aa0104ef3f439b0bc9a9708d97440b4bf8b221
Author: lmat <dartme18 at gmail.com>
Date: Thu Oct 19 15:23:16 2017 -0400
Change kvp string representation
The nested representation was very noisy. Now, the string representation
shows one line per value with the full prefix which is also more
expressive than the old version.
commit 34e0d6cfa06648e38d0771363803f2468efdc01c
Author: lmat <dartme18 at gmail.com>
Date: Thu Oct 5 12:48:37 2017 -0400
kvp frame to template and correcting failure macro
The template avoids the need to cast to and from void*, and adds flexibility to
the targeted function's signature.
test-stuff.h defines a macro, "failure" which is used as an identifier
in the standard IO library, so I moved any inclusion of test-stuff.h to
the last include position so that "failure" wouldn't be defined before
the IO library was included.
commit eb6c741bf91f18404007a5d8f2859bd2ecf7caf7
Author: lmat <dartme18 at gmail.com>
Date: Mon Aug 14 14:32:45 2017 -0400
Account.c to Account.cpp
Since Account.c is now Account.cpp, the function signatures look a bit
different internally. The tests rely on function signatures in error
messages. Instead of trying to figure out what the exact
function signature might be, I use a substring matching strategy to
ensure that the correct error was issued.
Summary of changes:
common/test-core/test-stuff.h | 7 +-
common/test-core/unittest-support.c | 44 +
common/test-core/unittest-support.h | 20 +
gnucash/gnome-utils/gnc-file.c | 6 -
libgnucash/app-utils/test/test-option-util.cpp | 10 +-
.../backend/dbi/test/test-backend-dbi-basic.cpp | 14 +-
libgnucash/backend/sql/gnc-slots-sql.cpp | 71 +-
libgnucash/backend/xml/io-gncxml-v1.cpp | 2 +-
libgnucash/backend/xml/sixtp-dom-generators.cpp | 4 +-
libgnucash/backend/xml/sixtp-dom-parsers.cpp | 2 +-
.../backend/xml/test/test-date-converting.cpp | 2 +-
.../backend/xml/test/test-dom-converters1.cpp | 2 +-
libgnucash/backend/xml/test/test-kvp-frames.cpp | 6 +-
.../backend/xml/test/test-load-example-account.cpp | 2 +-
libgnucash/backend/xml/test/test-load-xml2.cpp | 2 +-
libgnucash/backend/xml/test/test-save-in-lang.cpp | 2 +-
.../backend/xml/test/test-string-converters.cpp | 2 +-
libgnucash/backend/xml/test/test-xml-account.cpp | 2 +-
libgnucash/backend/xml/test/test-xml-commodity.cpp | 2 +-
libgnucash/backend/xml/test/test-xml-pricedb.cpp | 2 +-
.../backend/xml/test/test-xml-transaction.cpp | 3 +-
libgnucash/backend/xml/test/test-xml2-is-file.cpp | 2 +-
libgnucash/core-utils/gnc-glib-utils.h | 8 +
libgnucash/engine/{Account.c => Account.cpp} | 1339 ++++++++------------
libgnucash/engine/Account.h | 12 +-
libgnucash/engine/AccountP.h | 7 +
libgnucash/engine/CMakeLists.txt | 2 +-
libgnucash/engine/Makefile.am | 2 +-
libgnucash/engine/Scrub.c | 14 +-
libgnucash/engine/Split.c | 72 +-
libgnucash/engine/Split.h | 8 +
libgnucash/engine/Transaction.c | 117 +-
libgnucash/engine/Transaction.h | 8 +
libgnucash/engine/gnc-aqbanking-templates.cpp | 22 +-
libgnucash/engine/gnc-budget.c | 42 +-
libgnucash/engine/gnc-commodity.c | 12 +-
libgnucash/engine/gnc-commodity.h | 8 +
libgnucash/engine/gnc-engine.h | 7 +
libgnucash/engine/gnc-features.c | 27 +
libgnucash/engine/gnc-features.h | 13 +
libgnucash/engine/gnc-lot.c | 26 +-
libgnucash/engine/gnc-lot.h | 9 +
libgnucash/engine/gnc-pricedb.h | 8 +
libgnucash/engine/gncCustomer.c | 30 +-
libgnucash/engine/gncEmployee.c | 37 +-
libgnucash/engine/gncInvoice.c | 8 +-
libgnucash/engine/gncJob.c | 12 +-
libgnucash/engine/gncVendor.c | 30 +-
libgnucash/engine/guid.cpp | 19 +-
libgnucash/engine/guid.hpp | 1 +
libgnucash/engine/kvp-frame.cpp | 241 ++--
libgnucash/engine/kvp-frame.hpp | 127 +-
libgnucash/engine/kvp-value.cpp | 45 +-
libgnucash/engine/kvp-value.hpp | 1 +
libgnucash/engine/policy.h | 8 +
libgnucash/engine/qof-backend.hpp | 2 +-
libgnucash/engine/qof-string-cache.cpp | 17 +-
libgnucash/engine/qof-string-cache.h | 10 +-
libgnucash/engine/qofbook.cpp | 171 +--
libgnucash/engine/qofinstance-p.h | 54 +-
libgnucash/engine/qofinstance.cpp | 142 ++-
libgnucash/engine/qofsession.cpp | 2 +-
libgnucash/engine/test-core/test-engine-stuff.cpp | 4 +-
libgnucash/engine/test/gtest-import-map.cpp | 151 +--
libgnucash/engine/test/test-account-object.cpp | 4 +-
libgnucash/engine/test/test-kvp-frame.cpp | 92 +-
libgnucash/engine/test/utest-Account.cpp | 36 +-
libgnucash/engine/test/utest-Split.cpp | 24 +-
libgnucash/engine/test/utest-Transaction.cpp | 36 +-
po/POTFILES.in | 2 +-
70 files changed, 1611 insertions(+), 1667 deletions(-)
rename libgnucash/engine/{Account.c => Account.cpp} (83%)
More information about the gnucash-patches
mailing list