in case you didn't see this
linas@linas.org
linas@linas.org
Fri, 16 Mar 2001 09:59:58 -0600 (CST)
>
> To: gnucash-devel@gnucash.org
> Subject: TransBeginEdit() before a backend is available?
> From: Derek Atkins <warlord@MIT.EDU>
>
> I've tracked down my unbalanced TransCommitEdit(). The problem is
> that at SplitLedger.c:1204 if the transaction is new then doesn't have
> enough information to find a Backend. Therefore, this call to
> TransBeginEdit() winds up ignoring the backend. Then, when the
> transaction is committed later, the backend doesn't know that it never
> actually received an earlier 'beginedit()'.
>
> There aren't any real errors here; just a warning that there is an
> unbalanced transaction commit. I don't know if we care to fix this or
> not. What it means is that there is no way to inform the backend that
> there is a new transaction coming. Perhaps this isn't a problem. I
> don't know.
This is a bug; the calls are meant to be balanced. However, the fix
is not entirely obvious; pulling the backend out of a global would
suffice, but I've tried really hard to avoid globals elsewhere ...
> Anyways, I think this is my last major bug that I know of. The RPC
> Backend seems to work fairly well for me, with a single user and a
> file sitting behind the RPC Server. There is probably an issue where
> a user may lose their changes if they lose their connection to the
> server.
If you back onto the database backend on the remote side, then stores
are incremental, and should survive the loss of connection.
> Also, I don't have any support for the pricedb.
neither does the sqldb; I was holding off on that until there's a
report that requires prices.
> I'll send patches probably this weekend or early next week.
what directory? src/experimental? a subdirectory of src/engine ?
--linas