Thread: pgsql: Fix contrib/dblink to handle inconsistent DateStyle/IntervalStyl

Fix contrib/dblink to handle inconsistent DateStyle/IntervalStyle safely.

If the remote database's settings of these GUCs are different from ours,
ambiguous datetime values may be read incorrectly.  To fix, temporarily
adopt the remote server's settings while we ingest a query result.

This is not a complete fix, since it doesn't do anything about ambiguous
values in commands sent to the remote server; but there seems little we
can do about that end of it given dblink's entirely textual API for
transmitted commands.

Back-patch to 9.2.  The hazard exists in all versions, but this patch
would need more work to apply before 9.2.  Given the lack of field
complaints about this issue, it doesn't seem worth the effort at present.

Daniel Farina and Tom Lane

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/f24820618b05348c7d6d7cf5e8ab4f272073a18f

Modified Files
--------------
contrib/dblink/dblink.c            |  105 ++++++++++++++++++++-
contrib/dblink/expected/dblink.out |  176 ++++++++++++++++++++++++++++++++++++
contrib/dblink/sql/dblink.sql      |   96 ++++++++++++++++++++
3 files changed, 372 insertions(+), 5 deletions(-)