diff options
author | Tatsuo Ishii <ishii@postgresql.org> | 2001-09-06 04:57:30 +0000 |
---|---|---|
committer | Tatsuo Ishii <ishii@postgresql.org> | 2001-09-06 04:57:30 +0000 |
commit | 227767112c3d3a6562b27e0a0da064d8b8ca1ebf (patch) | |
tree | 83793014a004ba5098dba7f6c31ec6992049c80d /src/backend/commands/variable.c | |
parent | 50aa3020ac925d3f537fe580e218f8d9cec9fc5b (diff) | |
download | postgresql-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.c | 17 |
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; } |