From fdbf796f3634ddf837a76f8146656299cd1d260f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 8 Sep 2001 14:30:15 +0000 Subject: [PATCH] > > A simple and robus solution is in the begin of mbutils.c set default > > ClientEncoding to SQL_ASCII (like default DatabaseEncoding). Bruce, can > > you change it? It's one line change. Again thanks. Forget it! A default client encoding must be set by actual database encoding... Please apply the small attached patch that solve it better. Karel Zak --- src/backend/utils/mb/mbutils.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/backend/utils/mb/mbutils.c b/src/backend/utils/mb/mbutils.c index 39d59cdb14..b0b65a0837 100644 --- a/src/backend/utils/mb/mbutils.c +++ b/src/backend/utils/mb/mbutils.c @@ -3,7 +3,7 @@ * client encoding and server internal encoding. * (currently mule internal code (mic) is used) * Tatsuo Ishii - * $Id: mbutils.c,v 1.20 2001/09/06 04:57:29 ishii Exp $ + * $Id: mbutils.c,v 1.21 2001/09/08 14:30:15 momjian Exp $ */ #include "postgres.h" @@ -137,10 +137,9 @@ pg_get_client_encoding() Assert(DatabaseEncoding); if (ClientEncoding == NULL) - { /* this is the first time */ ClientEncoding = DatabaseEncoding; - } + return (ClientEncoding->encoding); } @@ -153,10 +152,9 @@ pg_get_client_encoding_name() Assert(DatabaseEncoding); if (ClientEncoding == NULL) - { /* this is the first time */ ClientEncoding = DatabaseEncoding; - } + return (ClientEncoding->name); } @@ -311,9 +309,12 @@ pg_convert2(PG_FUNCTION_ARGS) unsigned char * pg_client_to_server(unsigned char *s, int len) { - Assert(ClientEncoding); Assert(DatabaseEncoding); + if (ClientEncoding == NULL) + /* this is the first time */ + ClientEncoding = DatabaseEncoding; + if (ClientEncoding->encoding == DatabaseEncoding->encoding) return s; @@ -336,9 +337,12 @@ pg_client_to_server(unsigned char *s, int len) unsigned char * pg_server_to_client(unsigned char *s, int len) { - Assert(ClientEncoding); Assert(DatabaseEncoding); + if (ClientEncoding == NULL) + /* this is the first time */ + ClientEncoding = DatabaseEncoding; + if (ClientEncoding->encoding == DatabaseEncoding->encoding) return s; -- GitLab