2015-02-09 10:59 GMT+01:00 Marc Balmer <m...@msys.ch>: > > > > 2015-02-09 10:37 GMT+01:00 Marc Balmer <m...@msys.ch <mailto: > m...@msys.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@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-hackers >