Change postgres_fdw to show casts as casts, not underlying function calls.
On reflection this method seems to be exposing an unreasonable amount of
implementation detail. It wouldn't matter when talking to a remote server
of the identical Postgres version, but it seems likely to make things worse
not better if the remote is a different version with different casting
infrastructure. Instead adopt ruleutils.c's policy of regurgitating the
cast as it was originally specified; including not showing it at all, if
it was implicit to start with. (We must do that because for some datatypes
explicit and implicit casts have different semantics.)
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/211e157a51bf94dfcc143e78221951411f87e4b2
Modified Files
--------------
contrib/postgres_fdw/deparse.c | 42 ++++++++++++++++++++----
contrib/postgres_fdw/expected/postgres_fdw.out | 24 +++++++-------
2 files changed, 47 insertions(+), 19 deletions(-)