pgsql: Change postgres_fdw to show casts as casts, not underlying funct

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Change postgres_fdw to show casts as casts, not underlying funct
Date: 2013-02-22 12:30:34
Message-ID: E1U8rlq-0006pH-Jq@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2013-02-22 14:21:58 pgsql: Fix whole-row references in postgres_fdw.
Previous Message Tom Lane 2013-02-22 11:37:28 pgsql: Get rid of postgres_fdw's assumption that remote type OIDs match