diff options
author | Joe Conway | 2009-06-09 16:35:36 +0000 |
---|---|---|
committer | Joe Conway | 2009-06-09 16:35:36 +0000 |
commit | 0065bc020c95f50e54ba060ac2b8749f2927ff8e (patch) | |
tree | bc65aa285b5bcf30191c0fe27438f0b11c5bf89c | |
parent | df44859a1dde8e8351dbf06e9b3ea9338d63f6ef (diff) |
Default client encoding to server encoding for dblink connections. Addresses
issue raised by Ruzsinszky Attila and confirmed by others.
----------------------------------------------------------------------
-rw-r--r-- | contrib/dblink/dblink.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/contrib/dblink/dblink.c b/contrib/dblink/dblink.c index c06413d5a4..dd35feef5d 100644 --- a/contrib/dblink/dblink.c +++ b/contrib/dblink/dblink.c @@ -48,6 +48,7 @@ #include "executor/spi.h" #include "foreign/foreign.h" #include "lib/stringinfo.h" +#include "mb/pg_wchar.h" #include "miscadmin.h" #include "nodes/execnodes.h" #include "nodes/nodes.h" @@ -185,6 +186,7 @@ typedef struct remoteConnHashEnt errdetail("%s", msg))); \ } \ dblink_security_check(conn, rconn); \ + PQsetClientEncoding(conn, GetDatabaseEncodingName()); \ freeconn = true; \ } \ } while (0) @@ -263,6 +265,9 @@ dblink_connect(PG_FUNCTION_ARGS) /* check password actually used if not superuser */ dblink_security_check(conn, rconn); + /* attempt to set client encoding to match server encoding */ + PQsetClientEncoding(conn, GetDatabaseEncodingName()); + if (connname) { rconn->conn = conn; |