something similar to google search results With the limit to # results per page, once the results search has been performed, link to each set of # of results for example, if the user set # to 50, each set/page would contain 50 testcases. Each 50 results would be linked to in a fashion like; "1,2,3,next,previous" to end of results for that search. It might be easiest to offer just a few preset values like 15, 50, and 100 testcases (optionally an "All" selection).
Class::DBI::Pager is our friend. Working on a patch.
So...the solution I have in place with Class::DBI::Pager is not ideal. The Pager module slurps down all the matching rows from the db and then does the slicing in perl. Sadly, it's the only module that plays nicely with the existing Class::DBI structure we have without having to rewrite a lot of code. Worst-case query time (no criteria): Before Pager: 6.2s With Pager: 17.6s Note: adding any kind of limiting criteria at all improves the search time *a lot* because it narrows the record set that the Pager has to deal with. It has allowed me to move a few more test results queries to the read-only database which should also get us some speed ups. We could conceivably add this paging to testcase (and subgroup and...) lookups, but no one has really been asking for that yet.
Is this fallout? I just started experiencing this when I try to view: http://litmus.mozilla.org/show_test.cgi?id=4636 Litmus has suffered an internal error - undef error - Can't locate object method "size" via package Class::DBI::Pager at /opt/webtools/litmus/data//opt/webtools/litmus/templates/en/default/reporting/test_results.tmpl line 262
Yes, I overlooked the show_test.cgi script which also displays a list of results. Fixed, and I now have a selenium regression test to cover it for next time.