Quick update: Re: Failure to save as postgresql database

Jack ostroffjh at users.sourceforge.net
Sat Jan 23 01:00:46 GMT 2021


On 2021.01.01 13:57, Jack wrote:
> On 2020.12.31 19:02, Jack wrote:
>> In looking at https://bugs.kde.org/show_bug.cgi?id=430163 I got both  
>> mariadb and postgresql set up.  I can save to mariadb (mysql) but  
>> not to postgresql.  The error I get is:
>> 
>> -----
>> Cannot save to current database: Error in function void  
>> MyMoneyStorageSqlPrivate::deleteKeyValuePairs(const QString&, const  
>> QVariantList&) : deleting kvp for STORAGE
>> Driver = QPSQL, Host = localhost, User = jack, Database = kmm
>> Driver Error:
>> Database Error No -1:
>> Text:
>> Error type 0
>> Executed: DELETE FROM kmmKeyValuePairs WHERE kvpType = ? AND kvpId =  
>> ?;
>> Query error No 42601: ERROR:  syntax error at or near "("
>> LINE 1: EXECUTE  ('STORAGE', '')
>>                  ^
>> (42601) QPSQL: Unable to create query
>> Error type 2  
>> /var/tmp/portage/app-office/kmymoney-5.1.9999/work/kmymoney-5.1.9999/kmymoney/plugins/sql/mymoneystoragesql_p.h:1927
>> -----
>> 
>> In that call, kvpType is "STORAGE" and idList contains one empty  
>> string.  I have no idea where the question marks in the "Executed"  
>> line come from.  I see no obvious errors in the qSql code, other  
>> than perhaps wondering if the "" is getting correctly bound to  
>> :kvpID but I know I'm grabbing at straws here.
>> 
>> My other question is where LINE 1: EXECUTE('STORAGE','') comes  
>> from.  Those would be the proper two values for the single execution  
>> of the DELETE statement, but that seems to have come from much  
>> deeper in the libraries, although I don't know if it's still within  
>> QSql orin actual Postgresql code.
>> 
>> Any suggestions on how to further troubleshoot will be appreciated,  
>> although I know my next effort will be to run under gdb.
> With a hint from TonyB, I'm beginning to think there might be a  
> problem within QSql and its Postgres innards.  The syntax error in  
> "EXECUTE  ('STORAGE', '')" appears to be the lack of a name for the  
> prepared statement.  I'll have to track down how it creates the  
> actual psql PREPARE statement from the query.prepare call.
The actual current error is  "Query error No 0: ERROR:  current  
transaction is aborted, commands ignored until end of transaction  
block"  so I'm now digging into tracking if there is a previous SQL  
call which is failing, but not triggering an explicit end to that  
transaction.




More information about the KMyMoney-devel mailing list