Re: [SQL] Declare Cursor... - Mailing list pgsql-sql

From wieck@debis.com (Jan Wieck)
Subject Re: [SQL] Declare Cursor...
Date
Msg-id m11kt2O-0003kLC@orion.SAPserv.Hamburg.dsh.de
Whole thread Raw
In response to Declare Cursor...  (Baris Ulu <ulu@bornova.ege.edu.tr>)
List pgsql-sql
Baris ULU wrote:

>    I am trying to declare a cursor inside a plpgsql function in a
> begin end block as in the following:
> create function func_1(char, float8, int4, int4) returns int4 as '
>  declare
>    x alias for $1;
>    y alias for $2;
>    z alias for $3;
>    t alias for $4;
>    ...
>  begin work;
>   declare cursor_x cursor for select a, b, c, d from table_1 where a = x;
>   ...
>  end work;
>
>    when this function is compiled, it gives me the following error:
>         NOTICE: plpgsql: ERROR during compile of func_1 near line ...
>         ERROR: parse error at or near "CURSOR"
>
> If anyone can help me about my problem, I will be very happy...THANKS!

    Backend  functions  cannot use cursors. This is not supported
    by  the  underlying  mechanism  of  portals  and  the  server
    programming interface.

    Yes,  it's  a very bad limitation since the SPI tries to load
    the entire result set into memory, possibly blowing away  the
    backend  process.   I  don't know how and when we will tackle
    this, but it should go onto the TODO, Bruce.


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#========================================= wieck@debis.com (Jan Wieck) #

pgsql-sql by date:

Previous
From: Oskar Liljeblad
Date:
Subject: about the subselect query
Next
From: "Frederic boucher"
Date:
Subject: parser :parse error