Re: For cursors, there is FETCH and MOVE, why no TELL?

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Marc Balmer <marc(at)msys(dot)ch>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: For cursors, there is FETCH and MOVE, why no TELL?
Date: 2015-02-09 10:04:38
Message-ID: CAFj8pRDOkeUXjja9zMh8ED_JSCw4y4Qk6Fp8OXY4JWwds1b6PA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2015-02-09 10:59 GMT+01:00 Marc Balmer <marc(at)msys(dot)ch>:

> >
> > 2015-02-09 10:37 GMT+01:00 Marc Balmer <marc(at)msys(dot)ch <mailto:
> marc(at)msys(dot)ch>>:
> >
> > Currently there are FETCH and the (non standard) MOVE commands to
> work
> > on cursors.
> >
> > (I use cursors to display large datasets in a page-wise way, where
> the
> > user can move per-page, or, when displaying a single record, per
> record.
> > When the user goes back from per-record view to page-view, I have to
> > restore the cursor to the position it was on before the user changed
> to
> > per-record view.)
> >
> > I have to "manually" keep track of the cursor position, but in some
> > cases it would definitely be easier to just query the current cursor
> > position directly from the database and later use "MOVE ABSOLUTE" to
> > rewind it to that position. That could be achieved e.g. by a
> > hypothetical "TELL <cursor-name>" command. It does, however, not
> exist
> > and I have not found an alternative. Is there a way to query the
> > current cusros position at all? If not, does a TELL command sound
> like
> > a good or bad idea?
> >
> >
> > It sounds like good idea.
> >
> > Do we need a new statement? We can implement returning the position to
> > MOVE statement. It returns a delta, but it can returns a absolute
> > position too.
>
> On second thought, a new statement is not needed at all. As Heikki
> noticed in hsi reply, it could either be a new function or have move to
> return the current position somehow(tm). Or a nw option to move, maybe
> "MOVE NOT" (don't move the cursor but return it's position?
>
>
returning a absolute position in FETCH, MOVE statements has minimal
overhead probably, so you can get a current position as side effect of last
statement

and we support MOVE RELATIVE 0;

Regards

Pavel

>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Marco Nenciarini 2015-02-09 10:09:19 Re: New CF app deployment
Previous Message Marc Balmer 2015-02-09 09:59:06 Re: For cursors, there is FETCH and MOVE, why no TELL?