Re: scrollable cursor sup. for SPI

From: "Pavel Stehule" <pavel(dot)stehule(at)hotmail(dot)com>
To: tgl(at)sss(dot)pgh(dot)pa(dot)us
Cc: neilc(at)samurai(dot)com, pgsql-patches(at)postgresql(dot)org, jonah(dot)harris(at)gmail(dot)com
Subject: Re: scrollable cursor sup. for SPI
Date: 2007-01-16 15:39:30
Message-ID: BAY114-F14C29BE42A07B58CDCE1A4F9B40@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


>"Pavel Stehule" <pavel(dot)stehule(at)hotmail(dot)com> writes:
> > if I comprehended it well CURSOR_OPT_SCROLL is set only when SCROLL is
>cheap
> > (not when is possible). It's true?
>
>Nope. If you want a scrollable plan you need to make sure you tell the
>planner about it. SPI_cursor_open is not in charge, it's merely looking
>at what the planner did.
>
>As for that other stuff, when and if we support it, it would be time to
>add a SPI entry point that supports it. I'm disinclined to add an API
>on speculation though --- by the time the feature actually exists, we
>might not like the API anymore anyway.
>

I did step back and did some test. game with CURSOR_OPT_SCROLL has not sense
in SPI_cursor_open. I didn't tests with table's joins where this problem is
visible before.

I propose add new function SPI_prepare_with_option(..) which allow set
option for planner. Isn't problem add to SPI_open_cursor assert for holdable
cursors. This needs propably rewriting functions pg_plan_query and
pg_plan_queries.

Or new function SPI_prepare_cursor(...) which can be similar
PerformCursorOpen. This doesn't change others functions.

All comments are welcome
Pavel Stehule

_________________________________________________________________
Emotikony a pozadi programu MSN Messenger ozivi vasi konverzaci.
http://messenger.msn.cz/

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-01-16 16:15:26 Re: Enabling autovacuum by default (was Re: Autovacuum improvements)
Previous Message Darcy Buskermolen 2007-01-16 15:30:41 Re: Autovacuum improvements