[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