performance improvement when saving to an sqlite3 file.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17993 57a11ea4-9604-0410-9ed3-97b8803252fd
One set of changes speeds up the three functions in report-utilities.scm:
gnc:account-get-comm-balance-interval
gnc:accountlist-get-comm-balance-interval
gnc:accountlist-get-comm-balance-at-date
These can all be implemented as calls to
gnc:account-get-trans-type-balance-interval (with a minor change to it to
ignore the type parameter if it is #f) and it is much faster since it does a
single query instead of a loop over an account list.
The other set of changes is in gnc:html-acct-table-add-accounts! in
html-acct-table.scm. This functions starts off by building a hash table of
account balances it cares about. The code to do this did a recursive loop over
the relevant accounts. I changed it to do a query to find the splits in the
accounts it cares about and build the hash table from them. This speeds it up
by a couple of orders of magnitude.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17988 57a11ea4-9604-0410-9ed3-97b8803252fd
in qof and gnc files adding annotation comments to help splint analyze ownership
of memory and objects.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17983 57a11ea4-9604-0410-9ed3-97b8803252fd
the database selection fields from the old database connection dialog. If --enable-dbi
is specified at configuration time, this dialog is used instead of the file open and
save-as dialogs.
2) Prompt to create a mysql db if it doesn't exist.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17976 57a11ea4-9604-0410-9ed3-97b8803252fd
At the moment all major distributions feature Glade-3 which tends to
save a lot of lines less compared to Glade-2 because it does not define
properties whose values equal the default ones specified by Gtk+.
Unfortunately though, only very recent versions of Glade, v3.5.3+,
address the following two issues:
(1) GtkTable attachments are written in different order each times,
rendering diffs unusable.
(2) Currently we depend on the ability to use a name multiple times in a
single glade file and only newer versions allow to have uniqueness be
applied to each top-level widget.
Sorry for the confusion.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17967 57a11ea4-9604-0410-9ed3-97b8803252fd
Glade 3 does not save properties with default values anymore. This
reduces patch sizes when Glade-3/Gtk+ is used with varying versions and
also avoids warnings about properties unknown to older Gtk+ versions.
The version Glade 3 used is 3.4.5.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17966 57a11ea4-9604-0410-9ed3-97b8803252fd
Without the fallback, NULL is printf'ed which crashes GnuCash on
Windows.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17965 57a11ea4-9604-0410-9ed3-97b8803252fd
Take note: this change will *hide* any manually hacked saved reports
that make use of the new report-guid. The new saved-reports-2.4 file
will shadow the old saved-reports-2.0 file and will leave those hacked
reports behind. Any pre-existing saved reports that use report-guid will
have to be manually migrated to the new file.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17942 57a11ea4-9604-0410-9ed3-97b8803252fd
However, libdbi uses the column type name to determine how big it thinks the integer
value is. Therefore, change all 64 bit integer values (including num/denom in numeric
values) to 'bigint'. Tables will be automatically upgraded when an sqlite3 file is
opened.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17927 57a11ea4-9604-0410-9ed3-97b8803252fd
doesn't matter for the file backend, but does for the SQL backend, because the SQL backend
only loads transactions/splits as needed.
2) Partially solve problem where int64 values are loaded incorrectly. This started because
num and denom for prices were seen to be limited to 32 bits. libdbi provides a
libdbi_result_get_longlong() routine, but unfortunately, on my system (with libdbi 0.8.2-3),
it seems to have some bugs a) it returns negative values unsigned and b) it seems limited to
a 32 bit value even when the correct value is in the db.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17925 57a11ea4-9604-0410-9ed3-97b8803252fd