Re: cursor empty

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: cursor empty
Дата
Msg-id CAKFQuwZxVACPZAaKqzKy9AFDn-vH64Tq6DwRTUExXLa0HfiA4Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: cursor empty  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: cursor empty  (Philipp Kraus <philipp.kraus@tu-clausthal.de>)
Список pgsql-general
On Tue, May 8, 2018 at 6:36 AM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:

select * from vectorize('myvec');
fetch all from myvec;

Can you explain me, which part is wrong?

I am going to say:

perform pivottable( ...

https://www.postgresql.org/docs/10/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-NORESULT

"Sometimes it is useful to evaluate an expression or SELECT query but discard the result, for example when calling a function that has side-effects but no useful result value. To do this in PL/pgSQL, use the PERFORM statement:

PERFORM query;

This executes query and discards the result.  ..."
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

​It discards the results but not the side-effect, which in this case is creating a named portal in the session.  While the name of the portal, as returned by the function, is indeed lost the portal still exists, with the same name, and since the name is known by the caller anyway the attempt to make use of the portal succeeds (no failure and the column structure is known).  Maybe you are right about the contents of the portal being lost due to the perform but that behavior isn't evident from the the section you quote.

David J.

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

Предыдущее
От: "Kumar, Virendra"
Дата:
Сообщение: Autovacuum holding exclusive lock on table
Следующее
От: Philipp Kraus
Дата:
Сообщение: Re: cursor empty