Re: Passing cursor between functions in embedded SQL

From: "Sergey E(dot) Volkov" <sve(at)raiden(dot)bancorp(dot)ru>
To: pgsql-general(at)postgresql(dot)org(dot)pgsql-sql(at)postgresql(dot)org
Subject: Re: Passing cursor between functions in embedded SQL
Date: 2001-06-19 13:01:40
Message-ID: 9gnik9$2g97$1@news.tht.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi Alla,

Short answer - you can't.

Cursor ( cursors' name ) in esql ALWAYS has a FILE scope
( correct me - global scope in ecpg ) so you can to use it anywhere ( in the
file where it was defined ) without passing ones as parameter.

However if you want to pass cursor as parameter I recommend you to use
postgresql's c++ library or
c library. It's best way to make a flexible application.

(

For example in Informix's esqlc I can to define cursor as follows:
***
exec sql begin declare section
char *c1 = "my_first_cursor",
*c2 = "my_second_corsor";
exec sql end declare section

exec sql declare :c1 cursor for ...;
exec sql declare :c2 cursor for ...;

status = process_result_set(c1);
status = process_result_set(c2);
***
ecpg however doesn't support this syntax ...

)

"Alla" <alla(at)sergey(dot)com> ???????/???????? ? ???????? ?????????:
news:9275d56e(dot)0106181034(dot)51a22104(at)posting(dot)google(dot)com(dot)(dot)(dot)
> Did anybody try to do something like this?
>
> int
> open_cursor(...)
> {
> EXEC SQL DECLARE cur CURSOR FOR ...
>
> EXEC SQL OPEN cur;
>
> return cur1; /* how can I do that???? */
> }
>
> int
> fetch_cursor(... cur)
> {
> EXEC SQL FETCH cur;
>
> return some data;
> }
>
> That's how it's going to look in the calling program:
>
> cur := open_cursor;
>
> while (not found)
> {
> fetch_cursor(cur);
> do some processing with the data
> }
>
>
> My point is I don't want to declare huge arrays or linked lists and
> keep all the fetched data in the memory. I want to fetch a row,
> process it and move on to the next one.
>
> May be there is another approach to do this? Please help
>
> Thanks
>
> Alla Gribov

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Roberto Mello 2001-06-19 13:49:18 Re: About primary keys.
Previous Message David BOURIAUD 2001-06-19 12:50:22 Re: About primary keys.