[GNC-dev] Deprecation of XML file

Christopher Lam christopher.lck at gmail.com
Tue Sep 15 00:11:07 EDT 2020


Just my 2p here. I am a staunch XML user... despite its flaws and too many
namespaces, it has simplicity in viewing/editing with any text editor.

Save/Reload can be done safely with SQLite Rollback mechanism
https://sqlite.org/wal.html -- with this facility I'd expect that datafile
modification (e.g. transaction commits, transaction modification, business
object posting, etc) would be instantaneous, yet Ctrl-S would create a
checkpoint ("Data saved on 2020-09-15 12:06pm") to which I would then be
able to rollback anytime. Rollbacks would be read-only by default, and I'd
want facility to "revert to checkpoint". The atomic change would ideally be
highlightable in UI.

So, I'd not be opposed to migration to SQlite by default, and XML
imports/exports if someone will create an ironclad implementation. SMOP!

On Tue, 15 Sep 2020, 10:04 am Mike Evans, <mikee at saxicola.co.uk> wrote:

>
> > The *main* benefit of SQL storage is that you get immediate saves.  I.e.,
> > when you commit a transaction, it gets saved to storage immediately.  So
> > -- no lost work.
>
> This is exactly why I *don't* use a database for storage. I often screw up
> entering data.  I don't save until I'm happy I've done it right.  With XML
> I can just reload the file and try again.  With a database I'd have to
> restore the last backup, probably yesterday's, then restart GnuCash and try
> again losing *everything* I did today. (Yes I could manually do a backup of
> the sqlite file after each transaction but...).  With XML I can enter a
> transaction, check that I've not screwed up, save the file, then move on to
> the next transaction, check it and save.  This way If I screw up I can
> simply reload the XML from however many minutes ago I last saved and
> continue.
>
> The no-lost-work maybe fine for some|many but not for me.  The only
> immediate advantage of a DB backend is (as far as I can see) is concurrent
> user access, which GnuCash doesn't do, yet, so until then I will be using
> the XML file storage.  Yes, extracting data with other external programs is
> easier with SQL and If I want to do that I can.  I've never had the need to
> do so though as the reporting features of GnuCash gives me all the data I
> need.
>
>
>
> --
> PGP Key fingerprint = DA68 9657 0FF3 EFCB 58BD  3349 982E 6790 44C1 29D0
>
> Use saxicola at protonmail.com for end to end encrypted communication.
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
>


More information about the gnucash-devel mailing list