Re: BUG #5867: wish: plpgsql print table for debug

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: BUG #5867: wish: plpgsql print table for debug
Дата
Msg-id AANLkTi=Tn9131=2cc2QwmSFjiSHTmFbCdAoCU6Y0H6Yf@mail.gmail.com
обсуждение исходный текст
Ответ на BUG #5867: wish: plpgsql print table for debug  ("Richard Neill" <postgresql@richardneill.org>)
Список pgsql-bugs
On Thu, Mar 3, 2011 at 1:37 PM, Richard Neill <rjn@richardneill.org> wrote:
>
>> Sure it does. =A0You can pass the tuple to RAISE NOTICE easily enough.
>> It won't have all the same bells and whistles psql would supply, but
>> it prints out well enough for debugging. =A0Or at least it's never
>> bothered me.
>
> Sorry if I'm being dense, but I can't see how you can pass a tuple; I thi=
nk
> raise-notice only lets you pass individual strings/integers. But I don't
> think we can pass all of them without specifying in advance how many there
> are....

Pavel had it almost right.  Here's a version that works for me.

CREATE FUNCTION debug_query(qry text) RETURNS void
    LANGUAGE plpgsql
    AS $$
declare
    r record;
begin
    for r in execute qry loop
        raise notice '%', r;
    end loop;
end
$$;

And here it is doing its thing:

rhaas=3D# select debug_query('SELECT * FROM foo');
NOTICE:  (1,Richard)
NOTICE:  (2,Robert)
NOTICE:  (3,Tom)
 debug_query
-------------

(1 row)

--=20
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #5867: wish: plpgsql print table for debug
Следующее
От: Richard Neill
Дата:
Сообщение: Re: BUG #5867: wish: plpgsql print table for debug