pgsql: Expose object name error fields in PL/pgSQL.

Поиск
Список
Период
Сортировка
От Noah Misch
Тема pgsql: Expose object name error fields in PL/pgSQL.
Дата
Msg-id E1UuLQb-0003pD-Gp@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Expose object name error fields in PL/pgSQL.

Specifically, permit attaching them to the error in RAISE and retrieving
them from a caught error in GET STACKED DIAGNOSTICS.  RAISE enforces
nothing about the content of the fields; for its purposes, they are just
additional string fields.  Consequently, clarify in the protocol and
libpq documentation that the usual relationships between error fields,
like a schema name appearing wherever a table name appears, are not
universal.  This freedom has other applications; consider a FDW
propagating an error from an RDBMS having no schema support.

Back-patch to 9.3, where core support for the error fields was
introduced.  This prevents the confusion of having a release where libpq
exposes the fields and PL/pgSQL does not.

Pavel Stehule, lexical revisions by Noah Misch.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/7cd9b1371d8b18d063dc38bc4fa7b30bd92c07a3

Modified Files
--------------
doc/src/sgml/libpq.sgml               |   39 +++++++------
doc/src/sgml/plpgsql.sgml             |   36 ++++++++++++
doc/src/sgml/protocol.sgml            |   27 +++++----
src/pl/plpgsql/src/pl_exec.c          |   98 ++++++++++++++++++++++++++-------
src/pl/plpgsql/src/pl_funcs.c         |   25 +++++++++
src/pl/plpgsql/src/pl_gram.y          |   55 ++++++++++++++++++
src/pl/plpgsql/src/pl_scanner.c       |   10 ++++
src/pl/plpgsql/src/plpgsql.h          |   14 ++++-
src/test/regress/expected/plpgsql.out |   34 ++++++++++++
src/test/regress/sql/plpgsql.sql      |   32 +++++++++++
10 files changed, 321 insertions(+), 49 deletions(-)


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: pg_restore: Error about incompatible options
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Additional regression tests for CREATE OPERATOR.