Re: BUG #14275: cursor's variable in pgsql doesn't respect scope

Поиск
Список
Период
Сортировка
От Andrew Gierth
Тема Re: BUG #14275: cursor's variable in pgsql doesn't respect scope
Дата
Msg-id 874m72ggi4.fsf@news-spur.riddles.org.uk
обсуждение исходный текст
Ответ на BUG #14275: cursor's variable in pgsql doesn't respect scope  (klimych@tut.by)
Ответы Re: BUG #14275: cursor's variable in pgsql doesn't respect scope
Список pgsql-bugs
>>>>> "klimych" == klimych  <klimych@tut.by> writes:

 klimych> Executing of the code gives error "cursor "cur" already in
 klimych> use".

The cursor name (portal name) is global to the session, and for a bound
cursor it defaults to the name of the cursor variable:

40.7.3.5. Returning Cursors

  [...]

  Note: A bound cursor variable is initialized to the string value
  representing its name, so that the portal name is the same as the
  cursor variable name, unless the programmer overrides it by assignment
  before opening the cursor. But an unbound cursor variable defaults to
  the null value initially, so it will receive an
  automatically-generated unique name, unless overridden.

It's a bit ugly, but you can do

declare
  cur for select 1;
begin
  cur := null;  -- force a unique generated portal name
  open cur;
  //...

--
Andrew (irc:RhodiumToad)

В списке pgsql-bugs по дате отправления:

Предыдущее
От: klimych@tut.by
Дата:
Сообщение: BUG #14275: cursor's variable in pgsql doesn't respect scope
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: BUG #14275: cursor's variable in pgsql doesn't respect scope