Hi, I think web client programming is for wimps, so I thought I need to prove myself and touch the backend. I don't dare to commit, but I would like to hear some "this { needs to be on its own line" and "there needs to be a space before the )". What I did: BSFileDB::fdb_getall works from on the file from end to start and supports a limit paramter - only very people want to see the first 20 build history items as the platform page shows atm. The filtering is done using a callback and not afterwards on the full array. /build/openSUSE:Factory/standard/i586/_jobhistory?package=xen&code=failed' takes 17 seconds, with limit=2 it takes less than 1. And to support the project page, I added a _failures function that will show all current failures and the latest success, so I don't need to load the complete jobhistory /build/openSUSE:Factory/standard/i586/_failures' still takes 16 seconds, but _jobhistory takes 61s. And the implementation is just a couple of lines after the _jobhistory function filters by callback. Once those functions (with corrected indenting of course) are in, we can actually implement build history for packages without breaking the rep server. Greetings, Stephan