diff options
Diffstat (limited to 'src/backend/commands')
-rw-r--r-- | src/backend/commands/dbcommands.c | 13 | ||||
-rw-r--r-- | src/backend/commands/variable.c | 17 |
2 files changed, 20 insertions, 10 deletions
diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index f7f765d9d7a..88b01fd91e9 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.79 2001/08/26 16:55:59 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.80 2001/09/06 04:57:28 ishii Exp $ * *------------------------------------------------------------------------- */ @@ -36,6 +36,10 @@ #include "utils/fmgroids.h" #include "utils/syscache.h" +#ifdef MULTIBYTE +#include "mb/pg_wchar.h" /* encoding check */ +#endif + /* non-export function prototypes */ static bool get_db_info(const char *name, Oid *dbIdP, int4 *ownerIdP, @@ -142,6 +146,13 @@ createdb(const char *dbname, const char *dbpath, if (encoding < 0) encoding = src_encoding; +#ifdef MULTIBYTE + /* Some encodings are client only */ + if (!PG_VALID_BE_ENCODING( encoding )) + elog(ERROR, "CREATE DATABASE: invalid backend encoding"); +#else + Assert(encoding == 0); /* zero is PG_SQL_ASCII */ +#endif /* * Preassign OID for pg_database tuple, so that we can compute db * path. 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; } |