pgsql: Rearrange use of plpgsql_add_initdatums() so that only the

Поиск
Список
Период
Сортировка
От tgl@postgresql.org (Tom Lane)
Тема pgsql: Rearrange use of plpgsql_add_initdatums() so that only the
Дата
Msg-id 20070208183816.20F779FB30D@postgresql.org
обсуждение исходный текст
Список pgsql-committers
Log Message:
-----------
Rearrange use of plpgsql_add_initdatums() so that only the parsing of a
DECLARE section needs to know about it.  Formerly, everyplace besides DECLARE
that created variables needed to do "plpgsql_add_initdatums(NULL)" to prevent
those variables from being sucked up as part of a subsequent DECLARE block.
This is obviously error-prone, and in fact the SQLSTATE/SQLERRM patch had
failed to do it for those two variables, leading to the bug recently exhibited
by Asif Ali Rehman: a DECLARE within an exception handler tried to reinitialize
SQLERRM.

Although the SQLSTATE/SQLERRM patch isn't in any pre-8.1 branches, and so
I can't point to a demonstrable failure there, it seems wise to back-patch
this into the older branches anyway, just to keep the logic similar to HEAD.

Tags:
----
REL7_4_STABLE

Modified Files:
--------------
    pgsql/src/pl/plpgsql/src:
        gram.y (r1.48.2.4 -> r1.48.2.5)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/gram.y.diff?r1=1.48.2.4&r2=1.48.2.5)
        pl_comp.c (r1.69 -> r1.69.2.1)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/pl/plpgsql/src/pl_comp.c.diff?r1=1.69&r2=1.69.2.1)

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

Предыдущее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Fix an ancient logic error in plpgsql's exec_stmt_block: it
Следующее
От: tgl@postgresql.org (Tom Lane)
Дата:
Сообщение: pgsql: Fix an ancient logic error in plpgsql's exec_stmt_block: it