aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/variable.c
diff options
context:
space:
mode:
authorTatsuo Ishii <ishii@postgresql.org>2001-09-06 04:57:30 +0000
committerTatsuo Ishii <ishii@postgresql.org>2001-09-06 04:57:30 +0000
commit227767112c3d3a6562b27e0a0da064d8b8ca1ebf (patch)
tree83793014a004ba5098dba7f6c31ec6992049c80d /src/backend/commands/variable.c
parent50aa3020ac925d3f537fe580e218f8d9cec9fc5b (diff)
downloadpostgresql-227767112c3d3a6562b27e0a0da064d8b8ca1ebf.tar.gz
postgresql-227767112c3d3a6562b27e0a0da064d8b8ca1ebf.zip
Commit Karel's patch.
------------------------------------------------------------------- Subject: Re: [PATCHES] encoding names From: Karel Zak <zakkr@zf.jcu.cz> To: Peter Eisentraut <peter_e@gmx.net> Cc: pgsql-patches <pgsql-patches@postgresql.org> Date: Fri, 31 Aug 2001 17:24:38 +0200 On Thu, Aug 30, 2001 at 01:30:40AM +0200, Peter Eisentraut wrote: > > - convert encoding 'name' to 'id' > > I thought we decided not to add functions returning "new" names until we > know exactly what the new names should be, and pending schema Ok, the patch not to add functions. > better > > ...(): encoding name too long Fixed. I found new bug in command/variable.c in parse_client_encoding(), nobody probably never see this error: if (pg_set_client_encoding(encoding)) { elog(ERROR, "Conversion between %s and %s is not supported", value, GetDatabaseEncodingName()); } because pg_set_client_encoding() returns -1 for error and 0 as true. It's fixed too. IMHO it can be apply. Karel PS: * following files are renamed: src/utils/mb/Unicode/KOI8_to_utf8.map --> src/utils/mb/Unicode/koi8r_to_utf8.map src/utils/mb/Unicode/WIN_to_utf8.map --> src/utils/mb/Unicode/win1251_to_utf8.map src/utils/mb/Unicode/utf8_to_KOI8.map --> src/utils/mb/Unicode/utf8_to_koi8r.map src/utils/mb/Unicode/utf8_to_WIN.map --> src/utils/mb/Unicode/utf8_to_win1251.map * new file: src/utils/mb/encname.c * removed file: src/utils/mb/common.c -- Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/ C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
Diffstat (limited to 'src/backend/commands/variable.c')
-rw-r--r--src/backend/commands/variable.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c
index 3d96ba18390..cc7ab385aa8 100644
--- a/src/backend/commands/variable.c
+++ b/src/backend/commands/variable.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.51 2001/06/30 22:03:25 petere Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/variable.c,v 1.52 2001/09/06 04:57:28 ishii Exp $
*
*-------------------------------------------------------------------------
*/
@@ -34,8 +34,8 @@
#include "mb/pg_wchar.h"
#else
/* Grand unified hard-coded badness */
-#define pg_encoding_to_char(x) "SQL_ASCII"
-#define pg_get_client_encoding() 0
+#define pg_get_client_encoding_name() "SQL_ASCII"
+#define GetDatabaseEncodingName() "SQL_ASCII"
#endif
@@ -559,15 +559,15 @@ parse_client_encoding(char *value)
}
else
{
- if (pg_set_client_encoding(encoding))
+ if (pg_set_client_encoding(encoding) < 0)
{
elog(ERROR, "Conversion between %s and %s is not supported",
- value, pg_encoding_to_char(GetDatabaseEncoding()));
+ value, GetDatabaseEncodingName());
}
}
#else
if (value &&
- strcasecmp(value, pg_encoding_to_char(pg_get_client_encoding())) != 0)
+ strcasecmp(value, pg_get_client_encoding_name()) != 0)
elog(ERROR, "Client encoding %s is not supported", value);
#endif
return TRUE;
@@ -577,7 +577,7 @@ static bool
show_client_encoding(void)
{
elog(NOTICE, "Current client encoding is %s",
- pg_encoding_to_char(pg_get_client_encoding()));
+ pg_get_client_encoding_name());
return TRUE;
}
@@ -619,8 +619,7 @@ parse_server_encoding(char *value)
static bool
show_server_encoding(void)
{
- elog(NOTICE, "Current server encoding is %s",
- pg_encoding_to_char(GetDatabaseEncoding()));
+ elog(NOTICE, "Current server encoding is %s", GetDatabaseEncodingName());
return TRUE;
}