This is very simple to do, using the LIMIT OFFSET functionality in Postgres. Just create a Resource which accepts a request arg indicating the offset, and then execute your query like so: cursor.execute('SELECT foo, bar from mytable LIMIT 50 OFFSET %d' % offset) As your users move forward and back through the dataset, you just change the offset. If you are using Postgres, you should look at pgasync (search the mailing lists), which is a fully async (no threading) adapter for use with twisted and Postgres; awesome stuff. The only real work to do here is to keep track of which offset your user currently is viewing, and that's trivial as well. Hope this helps, L. Daniel Burr P.S. There's an even cooler way to do this: http://openrico.org/rico/livegrid.page On Fri, 14 Oct 2005 05:34:36 -0500, Michele Simionato <michele.simionato@gmail.com> wrote:
I need to write a Web interface to a PostgreSQL database and I am considering to use Twisted for that. So, I have a few questions.
First of all, I would like to know if there already something available that I should look at. Second, I have a more specific question.
Suppose I have a large table with 1,000,000 records and a SELECT query that returns 1000 results and takes 10 minutes.
I don't want my users to wait. I want to display the result of the query as an HTML table of 50 rows. The user should click, wait 30 seconds, see the result, then click a 'next' button to see the other 50 results, etc. In other words, I am looking for a lazy query functionality.
Is that already available? If not, is it easy/difficult to implement?
Thanks for any suggestion,
Michele Simionato
_______________________________________________ Twisted-web mailing list Twisted-web@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web