[COMMITTERS] pgsql: Simplify handling of remote-qual pass-forward in postgres_fdw.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема [COMMITTERS] pgsql: Simplify handling of remote-qual pass-forward in postgres_fdw.
Дата
Msg-id E1cxzyu-0007X9-Kx@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Simplify handling of remote-qual pass-forward in postgres_fdw.

Commit 0bf3ae88a encountered a need to pass the finally chosen remote qual
conditions forward from postgresGetForeignPlan to postgresPlanDirectModify.
It solved that by sticking them into the plan node's fdw_private list,
which in hindsight was a pretty bad idea.  In the first place, there's no
use for those qual trees either in EXPLAIN or execution; indeed they could
never safely be used for any post-planning purposes, because they would not
get processed by setrefs.c.  So they're just dead weight to carry around in
the finished plan tree, plus being an attractive nuisance for somebody who
might get the idea that they could be used that way.  Secondly, because
those qual trees (sometimes) contained RestrictInfos, they created a
plan-transmission hazard for parallel query, which is how come we noticed a
problem.  We dealt with that symptom in commit 28b047875, but really a more
straightforward and more efficient fix is to pass the data through in a new
field of struct PgFdwRelationInfo.  So do it that way.  (There's no need
to revert 28b047875, as it has sufficient reason to live anyway.)

Per fuzz testing by Andreas Seltenreich.

Discussion: https://postgr.es/m/87tw5x4vcu.fsf@credativ.de

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/88e902b769e180a232013e265ff9fd582dde125b

Modified Files
--------------
contrib/postgres_fdw/postgres_fdw.c | 44 ++++++++++++++++++-------------------
contrib/postgres_fdw/postgres_fdw.h |  9 +++++++-
2 files changed, 29 insertions(+), 24 deletions(-)


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: [COMMITTERS] pgsql: Allow a rule on partitioned table to be renamed.
Следующее
От: Tom Lane
Дата:
Сообщение: [COMMITTERS] pgsql: Remove bogus redefinition of _MSC_VER.