Re: [S] Re: Problems with non scrollable cursors

From: Daniele Bufarini <daniele(dot)bufarini(at)ie-online(dot)it>
To: Kris Jurka <books(at)ejurka(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [S] Re: Problems with non scrollable cursors
Date: 2005-01-24 08:53:44
Message-ID: 41F4B798.60408@ie-online.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Kris Jurka wrote:

>On Fri, 21 Jan 2005, Daniele Bufarini wrote:
>
>
>
>>I'm developing a web application. I haveto know exactly how many pages I
>>have and I have to allow the user to jump to a specific page( this is
>>where I used limit and offset): I know that this solution is VERY slow
>>and I tried to use cursors.... BUT (from PostgreSQL docs):
>>" The Statement must be created with a ResultSet type of
>>ResultSet.TYPE_FORWARD_ONLY. This is the default, so no code will need
>>to be rewritten to take advantage of this, but it also means that you
>>cannot scroll backwards or otherwise jump around in the ResultSet." !!!
>>So I cannot, for example, use the ResultSet.absolute() to jump back in
>>the result set!
>>
>>
>
>You are kind of out of luck. The only way a scrollable cursor will be
>faster than a limit/offset is if you use it multiple times. To use it
>multiple times you need to keep this cursor open across numerous page
>requests. This is a complicated piece of backend state because it may
>take up significant server resources and then there is the business of
>"finding" this cursor again when the user comes back. Are you really
>going to try and keep an open database connection for every user? Not in
>any web app that I know.
>
>Kris Jurka
>
>

Actually using the cursor multiple time is what I was thinking...
In fact, I can keep an open database connection only for large result
set and use a one time connection for all the others.
My problem is that I cannot scroll back using a cursor... I'm wondering
If I have to modify the jdbc driver or the back end or if there are
other solutions, less time consuming...

Daniele Bufarini

--
.-----------------------------------------------------------------.
| Daniele Bufarini Informazioni Editoriali I.E. S.p.A. |
| software architect Via Bergonzoli 1/5 - 20127 Milano (IT)|
| Tel: +3902283151 Fax: +390228315900 |
| http://www.ie-online.it daniele(dot)bufarini(at)ie-online(dot)it |
| There are only two truly infinite things, the universe and human|
| stupidity; I am unsure of the former. - Albert Einstein |
'-----------------------------------------------------------------'

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2005-01-24 09:42:01 Re: [S] Re: Problems with non scrollable cursors
Previous Message Kris Jurka 2005-01-24 08:07:23 Re: PGResultSetMetaData