proposal 9.4 plpgsql: allows access to call stack from GET DIAGNOSTICS statement

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема proposal 9.4 plpgsql: allows access to call stack from GET DIAGNOSTICS statement
Дата
Msg-id CAFj8pRChsM1zshEFi0Sy6_VHQpWQ6gr0o6d3qvt9tGG9ovnNNA@mail.gmail.com
обсуждение исходный текст
Ответы Re: proposal 9.4 plpgsql: allows access to call stack from GET DIAGNOSTICS statement  (Jim Nasby <jim@nasby.net>)
Re: proposal 9.4 plpgsql: allows access to call stack from GET DIAGNOSTICS statement  (Rushabh Lathia <rushabh.lathia@gmail.com>)
Список pgsql-hackers
Hello

I propose enhancing GET DIAGNOSTICS statement about new field
PG_CONTEXT. It is similar to GET STACKED DIAGNOSTICS'
PG_EXCEPTION_CONTEXT.

Motivation for this proposal is possibility to get  call stack for
debugging without raising exception.

This code is based on cleaned code from Orafce, where is used four
years without any error reports.

CREATE OR REPLACE FUNCTION public."inner"(integer)
 RETURNS integer
 LANGUAGE plpgsql
AS $function$
declare _context text;
begin
  get diagnostics _context = pg_context;
  raise notice '***%***', _context;
  return 2 * $1;
end;
$function$

postgres=# select outer_outer(10);
NOTICE:  ***PL/pgSQL function "inner"(integer) line 4 at GET DIAGNOSTICS
PL/pgSQL function "outer"(integer) line 3 at RETURN
PL/pgSQL function outer_outer(integer) line 3 at RETURN***
CONTEXT:  PL/pgSQL function "outer"(integer) line 3 at RETURN
PL/pgSQL function outer_outer(integer) line 3 at RETURN
 outer_outer
─────────────
          20
(1 row)

Ideas, comments?

Regards

Pavel Stehule

Вложения

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

Предыдущее
От: Jeff Janes
Дата:
Сообщение: Re: autovacuum not prioritising for-wraparound tables
Следующее
От: Paul Norman
Дата:
Сообщение: Using indexes for partial index builds