diff options
Diffstat (limited to 'src/backend/utils/misc/database.c')
-rw-r--r-- | src/backend/utils/misc/database.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/backend/utils/misc/database.c b/src/backend/utils/misc/database.c index 6a106b9ad12..69d67e5e1a4 100644 --- a/src/backend/utils/misc/database.c +++ b/src/backend/utils/misc/database.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.12 1998/07/24 03:31:59 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.13 1998/07/26 04:31:07 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -22,7 +22,7 @@ #include "access/heapam.h" #include "access/xact.h" #include "catalog/catname.h" -#ifdef MB +#ifdef MULTIBYTE #include "catalog/pg_database_mb.h" #include "mb/pg_wchar.h" #else @@ -184,7 +184,7 @@ ExpandDatabasePath(char *dbpath) * -------------------------------- */ void -#ifdef MB +#ifdef MULTIBYTE GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path, int *encoding) #else GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path) @@ -275,14 +275,23 @@ GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path) * means of getting at sys cat attrs. */ tup_db = (Form_pg_database) GETSTRUCT(tup); - +#ifdef MULTIBYTE + /* get encoding from template database. + This is the "default for default" for + create database command. + */ + if (strcmp("template1",tup_db->datname.data) == 0) + { + SetTemplateEncoding(tup_db->encoding); + } +#endif if (strcmp(name, tup_db->datname.data) == 0) { *db_id = tup->t_oid; strncpy(path, VARDATA(&(tup_db->datpath)), (VARSIZE(&(tup_db->datpath)) - VARHDRSZ)); *(path + VARSIZE(&(tup_db->datpath)) - VARHDRSZ) = '\0'; -#ifdef MB +#ifdef MULTIBYTE *encoding = tup_db->encoding; #endif goto done; |