[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