Thread: pgsql: In postgres_fdw, allow CASE expressions to be pushed to the remo

In postgres_fdw, allow CASE expressions to be pushed to the remote server.

This is simple enough except for the need to check whether CaseTestExpr
nodes have a collation that is not derived from a remote Var.  For that,
examine the CASE's "arg" expression and then pass that info down into the
recursive examination of the WHEN expressions.

Alexander Pyhalov, reviewed by Gilles Darold and myself

Discussion: https://postgr.es/m/fda09032e90d85d9b726a41e03f9097f@postgrespro.ru

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/5d44fff01eebfe0c7a118326605864e662a44f46

Modified Files
--------------
contrib/postgres_fdw/deparse.c                 | 212 +++++++++++++++++++++++--
contrib/postgres_fdw/expected/postgres_fdw.out |  90 +++++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql      |  29 ++++
3 files changed, 315 insertions(+), 16 deletions(-)