More on backend bug (loading problem, I think).

VW Fan vw_fan17@yahoo.com
Wed, 6 Jun 2001 20:00:20 -0700 (PDT)


Update on the saving problem I reported earlier:

I think I've narrowed it down to a problem LOADING
data via the postgres backend. 

Scenario: create a few accounts, enter a few
transactions. Some of the accounts and/or transactions
are NOT in USD, but in CAD. Not all, just some.

Save to file. Save to file multiple times. Watch every
version of the file be the same.

Save to database (e.g. postgres://localhost/db1). Hit
save again, no problem.

Exit, restart, data is loaded from
postgres://localhost/db1, hit save, see bug.

I missed an error earlier - here's a more complete
dump of the error (may contain multiple load attempts,
I'm not sure - sorry for the formatting..). Note the:
"expected common currency ISO4217::USD but found
(null)".

My best guess is that the data is not getting loaded
out of the database properly - it appears to be in the
initially saved database.  If I load, and immediately
save to a file, similar problems occur. In fact, the
currency value of one of my CAD accounts becomes USD
if I do this!! If I had any clue as to the
architecture of how this works, I'd try to find it
myself, but I couldn't find a single "select
xxx,yyy,zzz from gnctransaction", or
"load_transaction()", etc..


Error text:
Info: pgendCompareOneTransaction...(): sending query
SELECT num, description, currency, last_modified,
date_entered, date_posted, version FROM gncTransaction
WHERE transGUID='9dd82d29e89b378462b8c6b3c940adc7';
Info: pgendCompareOneTransaction...(): query result 0
has 1 rows and 7 cols
Warning: xaccTransFindCommonCurrenc...(): expected
common currency ISO4217::USD but found (null)

Warning: xaccTransFindCommonCurrenc...(): unable to
find a common currency, and that is strange.
Info: pgendCompareOneTransaction...(): mis-match:
version sql='3', eng='4'
Leave: pgendCompareOneTransaction...(): ndiffs=1
Enter: pgendStoreOneTransactionOn...(): be=0x82e4c38,
Transaction=0x82e06b8
Warning: xaccTransFindCommonCurrenc...(): expected
common currency ISO4217::USD but found (null)

Warning: xaccTransFindCommonCurrenc...(): unable to
find a common currency, and that is strange.
Info: sqlBuild_Query: UPDATE gncTransaction SET
num='1' , description='Bank to Customer 2' ,
currency='' , last_modified='NOW' ,
date_entered='2001-06-06 18:09:52.000000 -0400' ,
date_posted='2001-06-05 23:00:00.000000 -0400' ,
version=4 WHERE
transGUID='9dd82d29e89b378462b8c6b3c940adc7';

Info: pgendStoreOneTransactionOn...(): sending query
UPDATE gncTransaction SET num='1' , description='Bank
to Customer 2' , currency='' , last_modified='NOW' ,
date_entered='2001-06-06 18:09:52.000000 -0400' ,
date_posted='2001-06-05 23:00:00.000000 -0400' ,
version=4 WHERE
transGUID='9dd82d29e89b378462b8c6b3c940adc7';
Info: pgendStoreOneTransactionOn...(): clearing result
0
Error: pgendStoreOneTransactionOn...(): finish query
failed:
        ERROR:  ExecReplace: rejected due to CHECK
constraint gnctransaction_currency

Thanks for any help,
Mattias

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/