GDA Missing records in SQLite

Derek Atkins warlord at MIT.EDU
Wed Feb 27 10:02:30 EST 2008

Graham Leggett <minfrin at> writes:

> Derek Atkins wrote:
>> Umm.. I can't imagine ANY workaround that gnucash would perform
>> that would silently break with a gda upgrade.
> The biggest example is a workaround to escape strings not already
> escaped through the use of prepared statements. There is no reliable
> way to detect whether prepared statements are supported (apparently),
> so there would in turn not be a reliable way to detect whether or not
> the escaping workaround should be applied. If you apply escaping where
> it isn't required, you get corrupted strings. If you don't apply
> escaping where it is required, you get SQL insert failures.

Sure, but we HAVE a gda patch for that now, so we're still fine on
waiting for that.  Name me another potential issue.  Right now the
issues *I'm* thinking about are the performance issues, were we might
need to build queries differently based on the underlying DB in order
to get the best performance.

>> Oh, I'm all for getting gda fixed..  But there's a timing issue here.
>> How long does it take to:
>> 1) get GDA to fix the problem
>> 2) get a new GDA release
>> 3) get the new GDA release into the distributions?
> Significantly less time than:
> 1) User experiences sudden corruption of their gnucash file
> 2) User traces it back to a libgda upgrade
> 3) Get gnucash to remove the workaround
> 4) Get a new gnucash release
> 5) Get the new gnucash release into the distributions.
> Rather take longer and do it right, than be impatient and sow the
> seeds of angst, drama and future pain.

Honestly, I suspect this series is MUCH faster than GDA, but it
always depends on the distribution/packager.  I'm all for taking
more time to get it right, but there's a limit.  Bugs happen, and
at some point you just have to release and work around the bugs
you know about.

One would hope that you could do a runtime test to detect these
kinds of behavior.  For example, one could use an "insert/select"
combination to detect whether you needed to perform a runtime
quoting of single quotes.  Then you're safe against upgrades; if
gda fixes the problem, the runtime test will show that gda properly
quotes the strings so we know we dont have to anymore.  Viola!  No
more upgrade problem there!

Extend this to most of the the potential workarounds..  (obviously
some of them just aren't testable).   It would be nice if there's
some runtime method to obtain the exact gda version.

> Regards,
> Graham


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

More information about the gnucash-devel mailing list