Error calling Python API's session.save()

Derek Atkins warlord at MIT.EDU
Wed Feb 20 10:54:35 EST 2013


Hi,

Why are you calling 'save' for a mysql session?  There should be no need
to do that as each "commit" should automatically save the transaction
state?

-derek

James Nylen <jnylen+gnucash at gmail.com> writes:

> Hi all,
>
> I wasn't sure whether this should go to gnucash-user or gnucash-devel, so
> I'm sending to both.  But I'm experiencing an issue with the Python API on
> a fresh install of Linux Mint - an error calling Session.save().  Even
> though it looks like my changes are successfully being saved, this is
> worrisome.
>
> Below is a terminal log that illustrates the problem:
>
> ===== begin gnucash-terminal-log.txt =====
>
> user at computron ~ $ ipython
> Python 2.7.3 (default, Sep 26 2012, 21:51:14)
> Type "copyright", "credits" or "license" for more information.
> IPython 0.13.1.rc2 -- An enhanced Interactive Python.
> ?         -> Introduction and overview of IPython's features.
> %quickref -> Quick reference.
> help      -> Python's own help system.
> object?   -> Details about 'object', use 'object??' for extra details.
>
> In [1]: from gnucash import *
>
> In [2]: session = Session('mysql://redacted:redacted@redacted/redacted')
>
> In [3]: session.save()
> * 02:03:41  CRIT <gnc.backend.dbi> [mysql_error_fn()] DBI error: 1064: You
> have
> an error in your SQL syntax; check the manual that corresponds to your
> MySQL
> server version for the right syntax to use near '' at line 1
> ---------------------------------------------------------------------------
> GnuCashBackendException                   Traceback (most recent call last)
> <ipython-input-3-0e2bfeaf02ea> in <module>()
> ----> 1 session.save()
>
> /usr/local/lib/python2.7/dist-packages/gnucash/gnucash_core.py in
> new_function(self, *args)
>     142         def new_function(self, *args):
>     143             return_value = function(self, *args)
> --> 144             self.raise_backend_errors(function.__name__)
>     145             return return_value
>     146         return new_function
>
> /usr/local/lib/python2.7/dist-packages/gnucash/gnucash_core.py in
> raise_backend_errors(self, called_function)
>     120                 "call to %s resulted in the "
>     121                 "following errors, %s" % (called_function,
> backend_error_dict[errors[0]]),
> --> 122                 errors )
>     123
>     124     def generate_errors(self):
>
> GnuCashBackendException: call to new_function resulted in the following
> errors,
> ERR_BACKEND_SERVER_ERR
>
> In [4]: session.end()
>
> In [5]: session.destroy()
> * 02:03:55  CRIT <GLib> g_hash_table_foreach: assertion `version ==
> hash_table->version' failed
>
> In [6]:
> Do you really want to exit ([y]/n)? y
>
> user at computron ~ $ gnucash --version
> GnuCash 2.4.11
> Built 2013-02-18 from r22264M
>
> user at computron ~ $ cat /etc/lsb-release
> DISTRIB_ID=LinuxMint
> DISTRIB_RELEASE=14
> DISTRIB_CODENAME=nadia
> DISTRIB_DESCRIPTION="Linux Mint 14 Nadia"
>
> user at computron ~ $ uname -a
> Linux computron 3.5.0-17-generic #28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012
> x86_64 x86_64 x86_64 GNU/Linux
>
> ===== end gnucash-terminal-log.txt =====
>
> I'd appreciate some help with this.  What other information can I provide,
> if any?
>
> Thanks,
> James
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>
>

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list