pgsql: Make executor's SELECT INTO code save and restore original tuple

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Make executor's SELECT INTO code save and restore original tuple
Дата
Msg-id E1RiaJA-0008Vu-CG@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Make executor's SELECT INTO code save and restore original tuple receiver.

As previously coded, the QueryDesc's dest pointer was left dangling
(pointing at an already-freed receiver object) after ExecutorEnd.  It's a
bit astonishing that it took us this long to notice, and I'm not sure that
the known problem case with SQL functions is the only one.  Fix it by
saving and restoring the original receiver pointer, which seems the most
bulletproof way of ensuring any related bugs are also covered.

Per bug #6379 from Paul Ramsey.  Back-patch to 8.4 where the current
handling of SELECT INTO was introduced.

Branch
------
REL9_0_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/c024a3b3be1c86459f9b47f81f61cb8a67ee2712

Modified Files
--------------
src/backend/executor/execMain.c           |   20 +++++++++++++++-----
src/test/regress/expected/select_into.out |   25 +++++++++++++++++++++++++
src/test/regress/sql/select_into.sql      |   14 ++++++++++++++
3 files changed, 54 insertions(+), 5 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Make executor's SELECT INTO code save and restore original tuple
Следующее
От: Michael Meskes
Дата:
Сообщение: pgsql: Ecpglib stores variables that are used in DECLARE statements in