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.

Jack

Reply via email to