[GNC] Database storage

Jim DeLaHunt list+gnucash at jdlh.com
Fri Sep 20 04:50:16 EDT 2024


Chris:

On 2024-09-19 09:27, Chris Miller via gnucash-user wrote:
> I had already come to the same conclusion. And I have also already posed questions to myself:
>
>      * Does SQLite support transactions? -- Yes.
Beware of confusion: the word "transaction" is already used on this list 
to mean an "accounting record of an exchange of value". But I suspect 
that here you use the word "transaction" to mean a "controlled and 
reliable change to data stored in a database".
>      * Are transactions implemented? -- Let's assume, "Yes."

I think you mean, does GnuCash store each "accounting record of an 
exchange of value" entry via a "controlled and reliable change to data 
stored in a database"?

What people who know GnuCash's use of data backends are trying to 
explain here is that the answer is "no".

If you have GnuCash set up to store data in a SQLite or PostgreSQL 
database, and you start the GnuCash program, GnuCash performs a few 
controlled and reliable reads of data stored in a database, to get all 
the information in the book into memory. Then when you tell GnuCash to 
store a single "accounting record of an exchange of value" entry, 
GnuCash updates the data it has in memory. In simple terms, it does not 
make any change to data stored in the database at that moment.  When you 
tell GnuCash to save the book, then it makes a few controlled and 
reliable changes to data stored in a database so that the information in 
memory is stored in the database.



More information about the gnucash-user mailing list