From bf00bbb0c4940b80b46b7e5b379cd64184f2262f Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Fri, 24 Jul 1998 03:32:46 +0000 Subject: I really hope that I haven't missed anything in this one... From: t-ishii@sra.co.jp Attached are patches to enhance the multi-byte support. (patches are against 7/18 snapshot) * determine encoding at initdb/createdb rather than compile time Now initdb/createdb has an option to specify the encoding. Also, I modified the syntax of CREATE DATABASE to accept encoding option. See README.mb for more details. For this purpose I have added new column "encoding" to pg_database. Also pg_attribute and pg_class are changed to catch up the modification to pg_database. Actually I haved added pg_database_mb.h, pg_attribute_mb.h and pg_class_mb.h. These are used only when MB is enabled. The reason having separate files is I couldn't find a way to use ifdef or whatever in those files. I have to admit it looks ugly. No way. * support for PGCLIENTENCODING when issuing COPY command commands/copy.c modified. * support for SQL92 syntax "SET NAMES" See gram.y. * support for LATIN2-5 * add UNICODE regression test case * new test suite for MB New directory test/mb added. * clean up source files Basic idea is to have MB's own subdirectory for easier maintenance. These are include/mb and backend/utils/mb. --- src/backend/utils/misc/database.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/backend/utils/misc/database.c') diff --git a/src/backend/utils/misc/database.c b/src/backend/utils/misc/database.c index 9c9a0a63fa8..6a106b9ad12 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.11 1998/07/20 16:14:18 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.12 1998/07/24 03:31:59 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -22,7 +22,12 @@ #include "access/heapam.h" #include "access/xact.h" #include "catalog/catname.h" +#ifdef MB +#include "catalog/pg_database_mb.h" +#include "mb/pg_wchar.h" +#else #include "catalog/pg_database.h" +#endif #include "fmgr.h" #include "miscadmin.h" #include "storage/bufmgr.h" @@ -179,7 +184,11 @@ ExpandDatabasePath(char *dbpath) * -------------------------------- */ void +#ifdef MB +GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path, int *encoding) +#else GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path) +#endif { int dbfd; int fileflags; @@ -273,7 +282,9 @@ GetRawDatabaseInfo(char *name, Oid *owner, Oid *db_id, char *path) strncpy(path, VARDATA(&(tup_db->datpath)), (VARSIZE(&(tup_db->datpath)) - VARHDRSZ)); *(path + VARSIZE(&(tup_db->datpath)) - VARHDRSZ) = '\0'; - +#ifdef MB + *encoding = tup_db->encoding; +#endif goto done; } } -- cgit v1.2.3