[Kmymoney-devel] Review Request 122138: [GCI2014] Find the maximum in a set of numeric strings.
Christian David
christian-david at web.de
Tue Jan 20 16:12:31 UTC 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122138/#review74404
-----------------------------------------------------------
On my system the test fails as well, seems to be the same issue as before. This solved it:
q.prepare(QString("SELECT MAX(CAST(SUBSTR(%1, :prefixLength) AS INTEGER)) FROM %2;").arg(tableField, tableName));
q.bindValue(":prefixLength", prefixLength + 1);
As some tables have special ids like "AStd::Expense" in kmmAccounts I added this to the test:
testAddNewAccount();
QCOMPARE(m->m_sql->highestIdNum(QLatin1String("kmmAccounts"), QLatin1String("id"), 1), 6ul);
And: Your solouting works well! Now we just have to check if other databases bevhave this way (```cast("some string" as integer)``` -> 0) as well.
Since GCI is over I can take over this task if you want.
- Christian David
On Jan. 20, 2015, 8:59 vorm., Daniel Ring wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122138/
> -----------------------------------------------------------
>
> (Updated Jan. 20, 2015, 8:59 vorm.)
>
>
> Review request for KMymoney and Christian David.
>
>
> Bugs: 339103
> http://bugs.kde.org/show_bug.cgi?id=339103
>
>
> Repository: kmymoney
>
>
> Description
> -------
>
> This adds a function to retrieve the highest ID number from the database. The IDs are prefixed by a short identifier string, and are stored in the database as strings.
>
> This review request was created as a part of Google Code-In 2014. The specific task it refers to can be found here: https://www.google-melange.com/gci/task/view/google/gci2014/5774859095244800
>
>
> Diffs
> -----
>
> kmymoney/mymoney/storage/mymoneydatabasemgrtest.h 07fc175cd9381ef0fc7ad314cf905c22a43fca81
> kmymoney/mymoney/storage/mymoneydatabasemgrtest.cpp 642fc53d9e220f34e463b2a27ab9a5d4b0c1e3ec
> kmymoney/mymoney/storage/mymoneystoragesql.h 469c0f47d61df783f48787660f526fccdf5264a4
> kmymoney/mymoney/storage/mymoneystoragesql.cpp fa9fbdf7d77eaa4922302d1f583317212af45ddf
>
> Diff: https://git.reviewboard.kde.org/r/122138/diff/
>
>
> Testing
> -------
>
> I created a small sample database with SQLite and verified that the SQL statment worked properly. I was able to successfully build and run KMyMoney with this function included in Debian Stable (using cmake 2.8.11.1 from backports). However, I was unsure how best to test the function itself, so please let me know if any issues arise.
>
>
> Thanks,
>
> Daniel Ring
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20150120/99787bfb/attachment-0001.html>
More information about the KMyMoney-devel
mailing list