Stored procedures and out parameters

Поиск
Список
Период
Сортировка
От Shay Rojansky
Тема Stored procedures and out parameters
Дата
Msg-id CADT4RqAo=+m7zBuGsLzARf6ui90Humf7CJZR+zADXM+2oGvKUA@mail.gmail.com
обсуждение исходный текст
Ответы Re: Stored procedures and out parameters  (Robert Haas <robertmhaas@gmail.com>)
Список pgsql-hackers
Hi hackers, I've encountered some odd behavior with the new stored procedure feature, when using INOUT parameters, running PostgreSQL 11-beta2.

With the following procedure:

CREATE OR REPLACE PROCEDURE my_proc(INOUT results text)
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
    select 'test' into results;
END;
$BODY$;

executing CALL my_proc('whatever') yields a resultset with a "results" column and a single row, containing "test". This is expected and is also how functions work.

However, connecting via Npgsql, which uses the extended protocol, I see something quite different. As a response to a Describe PostgreSQL message, I get back a NoData response rather than a RowDescription message, In other words, it would seem that the behavior of stored procedures differs between the simple and extended protocols, when INOUT parameters are involved. Let me know if you need any more info.

It may be worth adding some more documentation in https://www.postgresql.org/docs/11/static/sql-createprocedure.html which doesn't mention OUT/INOUT parameters at all (for instance, the fact that OUT parameters aren't allowed, and an explanation why INOUT parameter are allowed etc.).

Thanks for your help!

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

Предыдущее
От: amul sul
Дата:
Сообщение: Re: code of partition split
Следующее
От: Andrey Lepikhov
Дата:
Сообщение: Re: [WIP] [B-Tree] Retail IndexTuple deletion