pgsql: Mark read/write expanded values as read-only in ValuesNext(), to

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Mark read/write expanded values as read-only in ValuesNext(), to
Дата
Msg-id E1b8xFR-000358-Qb@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Mark read/write expanded values as read-only in ValuesNext(), too.

Further thought about bug #14174 motivated me to try the case of a
R/W datum being returned from a VALUES list, and sure enough it was
broken.  Fix that.

Also add a regression test case exercising the same scenario for
FunctionScan.  That's not broken right now, because the function's
result will get shoved into a tuplestore between generation and use;
but it could easily become broken whenever we get around to optimizing
FunctionScan better.

There don't seem to be any other places where we put the result of
expression evaluation into a virtual tuple slot that could then be
the source for Vars of further expression evaluation, so I think
this is the end of this bug.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8355897ff296a3634f6b9c3da444622a02adda9c

Modified Files
--------------
src/backend/executor/nodeValuesscan.c | 14 ++++++++++++++
src/test/regress/expected/plpgsql.out | 32 ++++++++++++++++++++++++++++++++
src/test/regress/sql/plpgsql.sql      | 12 ++++++++++++
3 files changed, 58 insertions(+)


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

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: [HACKERS] Re: pgsql: Avoid extra locks in GetSnapshotData if old_snapshot_threshold <
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Mark read/write expanded values as read-only in ValuesNext(), to