gnucash master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu Nov 17 18:47:24 EST 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/0f506276 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d73c9bef (commit)
	 via  https://github.com/Gnucash/gnucash/commit/3afe27ec (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b847601e (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2c01bfba (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b683878a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/00950e97 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b838c1eb (commit)
	 via  https://github.com/Gnucash/gnucash/commit/f2eb13fc (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ada3a312 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/c470d006 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/10b006fd (commit)
	 via  https://github.com/Gnucash/gnucash/commit/db719191 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ee0e61a0 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/b2a644c2 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4ae5abf8 (commit)
	from  https://github.com/Gnucash/gnucash/commit/d1b406d8 (commit)



commit 0f506276ffeb75e42d56d49106dbbd2650581f92
Merge: d1b406d d73c9be
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Nov 17 15:38:08 2016 -0800

    Second interim merge of c++-backend.
    
    This is about as far as I can go on the SQL/DBI backend without changes
    to QofBackend, QofQuery, QofInstance, and the engine classes. The XML
    backend needs the same OO treatment before that's possible, so that's
    the next stage.

commit d73c9bef054e3b83e8081d5d469c98811938de52
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Nov 17 13:40:19 2016 -0800

    Remove two unnecessary local variable declarations.

commit 3afe27ec455e4be05ad31ac000e32fed095d67a6
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Nov 15 16:40:38 2016 -0800

    Convert foo_needing_parents to std::vector and its loops to std::remove_if.
    
    Fixing incorrect implementation in gnc-bill-term-sql and gnc-tax-table-sql,
    where there was no test for the parent actually having been loaded.
    Also #ifdef-out the starting balances part of GncSqlAccountBackend::load_all
    and move its variable decls inside the ifdef as auto.

commit b847601ebefd8ca0643a20f5f54a56b6a362588d
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Nov 14 13:38:44 2016 -0800

    Replace GStrings with std::strings.

commit 2c01bfba1359b3b6437b02511777e2d12d05d069
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 13 17:21:06 2016 -0800

    Move gnc_sql_save_commodity to GncSqlBackend, with some restructuring.

commit b683878a2511f1024fe39c0b150ab910ce4cdefe
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 13 15:17:09 2016 -0800

    Remove gnc-backend-sql.h and gnc-backend-sql.cpp.
    
    Having removed all of their code to somewhere else.

commit 00950e9724071f319da12ed586cc32089bcec262
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 13 14:52:03 2016 -0800

    Move 3 utility functions from gnc-backend-sql to gnc-sql-column-table-entry.
    
    gnc_sql_load_object, gnc_sql_load_guid, and gnc_sql_append_guids_to_sql.

commit b838c1ebf3942199a4b6f46e093eef4f61db2da1
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 13 12:41:32 2016 -0800

    Move gnc_sql_do_db_operation and gnc_sql_object_is_it_in_db into GncSqlBackend.

commit f2eb13fc55e2b9c988aead25cd0218ae97a8a9df
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 13 12:41:56 2016 -0800

    Remove unused duplicate source file.

commit ada3a312165965e3cd2ab39a6ebaed6b29170540
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 6 14:41:40 2016 -0800

    Fix DBI crash when URL lacks user and password.

commit c470d006ee3d182d173e64048ef420ae29f34a8d
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 6 10:06:24 2016 -0800

    Remove no-longer-necessary GncSqlBackend parameter.
    
    Where it was required only to pass down to the CT_TIMESPEC specialization
    of template<GncSqlObjectType Type>GncSqlColumnTableEntryImpl::add_to_query().

commit 10b006fdc1fe67c6caff7efca163406c89e78187
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 6 09:50:15 2016 -0800

    Replace GncSqlBackend::time64_to_string() with GncDateTime::format_zulu().
    
    The primary motivation was to enable removing the sql_be parameter from
    get_object_values and all of the templates it calls for the sole purpose
    of using a customized per-server time output format (next commit). All
    known sql servers/libraries can ingest GMT in ISO form (yyyy-mm-dd hh:mm:ss)
    so there's no reason not to use a single standard format.
    
    This has the secondary benefit of also removing an ugly character-by-character
    formatting routine.

commit db719191a1319d5ef00e1337f4aa43013fff2645
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Nov 6 09:39:21 2016 -0800

    New function GncDateTime::format_zulu(), makes time string in GMT.
    
    Required to ensure that date-times stored in SQL backend are in GMT for
    backward compatibility.

commit ee0e61a07e36921097d585b1ccb1b40357fb91b3
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Nov 3 14:21:11 2016 -0700

    Replace C API with C++ API for functions used by GncSqlDbiBackend.
    
    Since these are now parent-class member functions they can be called
    directly from dbi_be without any casting gymnastics.
    
    Also: Move the GncSqlObjectBackend registry to its own class, a private
    member of GncSqlBackend. This eliminates a static variable in gnc-backend-sql.cpp
    and allows the GncSqlBackend::ObjectRegistry constructor to insert all of
    the backends into the list, eliminating gnc_sql_init() and all of the
    gnc_sql_init_foo_handler() functions. The cost of this is that the objects
    are now created on the free store instead of the text segment.
    
    Because the object backends are created at GncSqlBackend construction
    there is now a GncSqlBookBackend in the registry and the second error
    message in test_gnc_sql_commit_edit is no longer emitted; instead, the
    object is properly committed.

commit b2a644c29dcdd5ba7f51c3f9445cfdf5fdb7ede0
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Nov 1 11:58:21 2016 -0700

    Separate SQL backend classes into their own header and source files.
    
    And adjust includes accordingly.

commit 4ae5abf83b86759c184605e58269fa2214c25105
Author: John Ralls <jralls at ceridwen.us>
Date:   Sun Oct 30 17:56:24 2016 -0700

    Distinguish variables of various backend types by naming.
    
    QofBackend* qof_be, GncSqlBackend* sql_be, and GncDbiBackend* dbi_be.\nRequested by Geert Janssens.



Summary of changes:
 src/backend/dbi/gnc-backend-dbi.cpp                |  311 ++-
 src/backend/dbi/gnc-backend-dbi.hpp                |   10 +-
 src/backend/dbi/gnc-dbiprovider.hpp                |    4 +-
 src/backend/dbi/gnc-dbiproviderimpl.hpp            |    7 +
 src/backend/dbi/gnc-dbisqlconnection.hpp           |    6 +
 src/backend/dbi/gnc-dbisqlresult.cpp               |    1 -
 src/backend/dbi/gnc-dbisqlresult.hpp               |    1 +
 src/backend/dbi/test/test-backend-dbi-basic.cpp    |   37 +-
 src/backend/dbi/test/test-dbi-stuff.cpp            |    9 +-
 src/backend/sql/CMakeLists.txt                     |   11 +-
 src/backend/sql/Makefile.am                        |   11 +-
 src/backend/sql/gnc-account-sql.cpp                |  208 +-
 src/backend/sql/gnc-account-sql.h                  |   14 +-
 src/backend/sql/gnc-address-sql.cpp                |   21 +-
 src/backend/sql/gnc-backend-sql.cpp                | 2345 --------------------
 src/backend/sql/gnc-backend-sql.h                  | 1022 ---------
 src/backend/sql/gnc-bill-term-sql.cpp              |  181 +-
 src/backend/sql/gnc-bill-term-sql.h                |   14 +-
 src/backend/sql/gnc-book-sql.cpp                   |   53 +-
 src/backend/sql/gnc-book-sql.h                     |   13 +-
 src/backend/sql/gnc-budget-sql.cpp                 |  152 +-
 src/backend/sql/gnc-budget-sql.h                   |   14 +-
 src/backend/sql/gnc-commodity-sql.cpp              |  117 +-
 src/backend/sql/gnc-commodity-sql.h                |   15 +-
 src/backend/sql/gnc-customer-sql.cpp               |   70 +-
 src/backend/sql/gnc-customer-sql.h                 |   11 +-
 src/backend/sql/gnc-employee-sql.cpp               |   88 +-
 src/backend/sql/gnc-employee-sql.h                 |   12 +-
 src/backend/sql/gnc-entry-sql.cpp                  |   72 +-
 src/backend/sql/gnc-entry-sql.h                    |   11 +-
 src/backend/sql/gnc-invoice-sql.cpp                |  104 +-
 src/backend/sql/gnc-invoice-sql.h                  |   12 +-
 src/backend/sql/gnc-job-sql.cpp                    |   58 +-
 src/backend/sql/gnc-job-sql.h                      |   10 +-
 src/backend/sql/gnc-lots-sql.cpp                   |   83 +-
 src/backend/sql/gnc-lots-sql.h                     |   11 +-
 src/backend/sql/gnc-order-sql.cpp                  |   74 +-
 src/backend/sql/gnc-order-sql.h                    |   10 +-
 src/backend/sql/gnc-owner-sql.cpp                  |   27 +-
 src/backend/sql/gnc-price-sql.cpp                  |   85 +-
 src/backend/sql/gnc-price-sql.h                    |   12 +-
 src/backend/sql/gnc-recurrence-sql.cpp             |  113 +-
 src/backend/sql/gnc-recurrence-sql.h               |   23 +-
 src/backend/sql/gnc-schedxaction-sql.cpp           |   72 +-
 src/backend/sql/gnc-schedxaction-sql.h             |   13 +-
 src/backend/sql/gnc-slots-sql.cpp                  |  365 ++-
 src/backend/sql/gnc-slots-sql.h                    |   35 +-
 src/backend/sql/gnc-sql-backend.cpp                | 1006 +++++++++
 src/backend/sql/gnc-sql-backend.hpp                |  292 +++
 src/backend/sql/gnc-sql-column-table-entry.cpp     |  713 ++++++
 src/backend/sql/gnc-sql-column-table-entry.hpp     |  510 +++++
 src/backend/sql/gnc-sql-connection.hpp             |  103 +
 src/backend/sql/gnc-sql-object-backend.cpp         |   97 +
 src/backend/sql/gnc-sql-object-backend.hpp         |  140 ++
 .../sql/gnc-sql-result.cpp}                        |   37 +-
 src/backend/sql/gnc-sql-result.hpp                 |  114 +
 src/backend/sql/gnc-tax-table-sql.cpp              |  245 +-
 src/backend/sql/gnc-tax-table-sql.h                |   12 +-
 src/backend/sql/gnc-transaction-sql.cpp            |  482 ++--
 src/backend/sql/gnc-transaction-sql.h              |   27 +-
 src/backend/sql/gnc-vendor-sql.cpp                 |   75 +-
 src/backend/sql/gnc-vendor-sql.h                   |   12 +-
 src/backend/sql/test/Makefile.am                   |    3 -
 src/backend/sql/test/test-column-types.cpp         |    2 -
 src/backend/sql/test/utest-gnc-backend-sql.cpp     |  183 +-
 src/libqof/qof/gnc-datetime.cpp                    |   20 +
 src/libqof/qof/gnc-datetime.hpp                    |   13 +-
 src/libqof/qof/test/gtest-gnc-datetime.cpp         |    7 +
 68 files changed, 4714 insertions(+), 5327 deletions(-)
 delete mode 100644 src/backend/sql/gnc-backend-sql.cpp
 delete mode 100644 src/backend/sql/gnc-backend-sql.h
 create mode 100644 src/backend/sql/gnc-sql-backend.cpp
 create mode 100644 src/backend/sql/gnc-sql-backend.hpp
 create mode 100644 src/backend/sql/gnc-sql-column-table-entry.cpp
 create mode 100644 src/backend/sql/gnc-sql-column-table-entry.hpp
 create mode 100644 src/backend/sql/gnc-sql-connection.hpp
 create mode 100644 src/backend/sql/gnc-sql-object-backend.cpp
 create mode 100644 src/backend/sql/gnc-sql-object-backend.hpp
 copy src/{gnome-utils/dialog-reset-warnings.h => backend/sql/gnc-sql-result.cpp} (70%)
 create mode 100644 src/backend/sql/gnc-sql-result.hpp



More information about the gnucash-patches mailing list