GDA save missing records

Mark Johnson mrj001 at
Fri Feb 15 23:05:16 EST 2008

libgda 3.1.2
gnucash-gda SVN16943
PostgreSQL 8.2.6
MySql 5.0.51
Sqlite 3.3.7

Today, I deleted all the gnucash databases (Well, I just started a new 
file for SQLite:-).  I made three copies of my current gnucash XML data, 
and loaded them into three instances of gnucash SVN (running 
concurrently).  In one, I select File -> Save As and saved to a file 
with .db extension to get a SQLite file.  In another, I selected File -> 
Database Connection and saved to a MySql connection.  In the last, I 
selected File -> Database Connection and saved to a PostgreSQL 
connection.  (Then I walked away from the computer for about 5 hours,  
which is why I wanted them running concurrently.)

Here are excerpts from connecting to the various DBs with their 
respective clients:
sqlite> select count(*) from transactions;
sqlite> select count(*) from splits;
sqlite> select count(*) from accounts;
mysql> select count(*) from transactions;
| count(*) |
|     3662 |
1 row in set (0.02 sec)

mysql> select count(*) from splits;
| count(*) |
|    11487 |
1 row in set (0.00 sec)

mysql> select count(*) from accounts;
| count(*) |
|      522 |
1 row in set (0.00 sec)

And PostgreSQL:
gnucash_db=# select count(*) from transactions;
(1 row)

gnucash_db=# select count(*) from splits;
(1 row)

gnucash_db=# select count(*) from accounts;
(1 row)

None of the instances of gnucash-gda informed me that they were creating 
scheduled transactions (and if one did, they all should have, anyway).  
Therefore, the number of splits, transactions, and accounts MUST be 
identical in all cases.

Anybody know of a quick and easy way to count these in my XML file so 
that I know what these numbers should actually be?

Next, I'm going to track down which are missing.  I'll be checking log 
files (not for SQLite of course) and comparing the DB contents to each 
other, but it would be ideal to be able to compare them to the "gold 
standard" XML source file.

This appears to be separate from the SERIAL problem of libgda's 
PostgreSQL provider as PostgreSQL has the highest number of splits.  
(Most complete?  Are there duplicates?)


More information about the gnucash-devel mailing list