提交 c0b01461 编写于 作者: B Bruce Momjian

o note that now pg_database has a new attribuite "encoding" even

if MULTIBYTE is not enabled. So be sure to run initdb.

o these patches are made against the latest source tree (after
Bruce's massive patch, I think) BTW, I noticed that after running
regression, the oid field of pg_type seems disappeared.

	regression=> select oid from pg_type; ERROR:  attribute
	'oid' not found

this happens after the constraints test. This occures with/without
my patches. strange...

o pg_database_mb.h, pg_class_mb.h, pg_attribute_mb.h are no longer
used, and shoud be removed.

o GetDatabaseInfo() in utils/misc/database.c removed (actually in
#ifdef 0). seems nobody uses.

t-ishii@sra.co.jp
上级 9438fe5d
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.20 1998/08/19 02:01:23 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.21 1998/08/24 01:13:36 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -31,13 +31,8 @@ ...@@ -31,13 +31,8 @@
#include "bootstrap/bootstrap.h" #include "bootstrap/bootstrap.h"
#include "catalog/heap.h" #include "catalog/heap.h"
#include "catalog/pg_am.h" #include "catalog/pg_am.h"
#ifdef MULTIBYTE
#include "catalog/pg_attribute_mb.h"
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_attribute.h" #include "catalog/pg_attribute.h"
#include "catalog/pg_class.h" #include "catalog/pg_class.h"
#endif
#include "commands/defrem.h" #include "commands/defrem.h"
#include "nodes/nodes.h" #include "nodes/nodes.h"
#include "nodes/parsenodes.h" #include "nodes/parsenodes.h"
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.10 1998/07/26 04:30:19 scrappy Exp $ * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.11 1998/08/24 01:13:38 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -20,11 +20,7 @@ ...@@ -20,11 +20,7 @@
#include "storage/block.h" #include "storage/block.h"
#include "storage/off.h" #include "storage/off.h"
#include "storage/itemptr.h" #include "storage/itemptr.h"
#ifdef MULTIBYTE
#include "catalog/pg_attribute_mb.h"
#else
#include "catalog/pg_attribute.h" #include "catalog/pg_attribute.h"
#endif
#include "access/attnum.h" #include "access/attnum.h"
#include "nodes/pg_list.h" #include "nodes/pg_list.h"
#include "access/tupdesc.h" #include "access/tupdesc.h"
...@@ -32,11 +28,7 @@ ...@@ -32,11 +28,7 @@
#include "access/funcindex.h" #include "access/funcindex.h"
#include "storage/fd.h" #include "storage/fd.h"
#include "catalog/pg_am.h" #include "catalog/pg_am.h"
#ifdef MULTIBYTE
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_class.h" #include "catalog/pg_class.h"
#endif
#include "nodes/nodes.h" #include "nodes/nodes.h"
#include "rewrite/prs2lock.h" #include "rewrite/prs2lock.h"
#include "access/skey.h" #include "access/skey.h"
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.53 1998/08/19 02:01:44 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.54 1998/08/24 01:13:39 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -37,6 +37,10 @@ ...@@ -37,6 +37,10 @@
#include "commands/trigger.h" #include "commands/trigger.h"
#include <storage/fd.h> #include <storage/fd.h>
#ifdef MULTIBYTE
#include "mb/pg_wchar.h"
#endif
#define ISOCTAL(c) (((c) >= '0') && ((c) <= '7')) #define ISOCTAL(c) (((c) >= '0') && ((c) <= '7'))
#define VALUE(c) ((c) - '0') #define VALUE(c) ((c) - '0')
...@@ -61,7 +65,7 @@ static char *CopyReadAttribute(FILE *fp, bool *isnull, char *delim, int *newline ...@@ -61,7 +65,7 @@ static char *CopyReadAttribute(FILE *fp, bool *isnull, char *delim, int *newline
static char *CopyReadAttribute(FILE *fp, bool *isnull, char *delim); static char *CopyReadAttribute(FILE *fp, bool *isnull, char *delim);
#endif #endif
static void CopyAttributeOut(FILE *fp, char *string, char *delim, int is_array); static void CopyAttributeOut(FILE *fp, unsigned char *string, char *delim, int is_array);
static int CountTuples(Relation relation); static int CountTuples(Relation relation);
extern FILE *Pfout, extern FILE *Pfout,
...@@ -1006,6 +1010,17 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim) ...@@ -1006,6 +1010,17 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim)
char c; char c;
int done = 0; int done = 0;
int i = 0; int i = 0;
#ifdef MULTIBYTE
int mblen;
int encoding;
unsigned char s[2];
int j;
#endif
#ifdef MULTIBYTE
encoding = pg_get_client_encoding();
s[1] = 0;
#endif
#ifdef COPY_PATCH #ifdef COPY_PATCH
/* if last delimiter was a newline return a NULL attribute */ /* if last delimiter was a newline return a NULL attribute */
...@@ -1108,19 +1123,53 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim) ...@@ -1108,19 +1123,53 @@ CopyReadAttribute(FILE *fp, bool *isnull, char *delim)
} }
if (!done) if (!done)
attribute[i++] = c; attribute[i++] = c;
#ifdef MULTIBYTE
s[0] = c;
mblen = pg_encoding_mblen(encoding, s);
mblen--;
for(j=0;j<mblen;j++) {
c = getc(fp);
if (feof(fp))
return (NULL);
attribute[i++] = c;
}
#endif
if (i == EXT_ATTLEN - 1) if (i == EXT_ATTLEN - 1)
elog(ERROR, "CopyReadAttribute - attribute length too long. line: %d", lineno); elog(ERROR, "CopyReadAttribute - attribute length too long. line: %d", lineno);
} }
attribute[i] = '\0'; attribute[i] = '\0';
#ifdef MULTIBYTE
return(pg_client_to_server((unsigned char*)attribute, strlen(attribute)));
#else
return (&attribute[0]); return (&attribute[0]);
#endif
} }
static void static void
CopyAttributeOut(FILE *fp, char *string, char *delim, int is_array) CopyAttributeOut(FILE *fp, unsigned char *server_string, char *delim, int is_array)
{ {
unsigned char *string;
char c; char c;
#ifdef MULTIBYTE
int mblen;
int encoding;
int i;
#endif
#ifdef MULTIBYTE
string = pg_server_to_client(server_string, strlen(server_string));
encoding = pg_get_client_encoding();
#else
string = server_string;
#endif
#ifdef MULTIBYTE
for (; (mblen = pg_encoding_mblen(encoding, string)) &&
((c = *string) != '\0'); string += mblen)
#else
for (; (c = *string) != '\0'; string++) for (; (c = *string) != '\0'; string++)
#endif
{ {
if (c == delim[0] || c == '\n' || if (c == delim[0] || c == '\n' ||
(c == '\\' && !is_array)) (c == '\\' && !is_array))
...@@ -1142,7 +1191,13 @@ CopyAttributeOut(FILE *fp, char *string, char *delim, int is_array) ...@@ -1142,7 +1191,13 @@ CopyAttributeOut(FILE *fp, char *string, char *delim, int is_array)
fputc('\\', fp); fputc('\\', fp);
} }
} }
#ifdef MULTIBYTE
for (i=0;i<mblen;i++) {
fputc(*(string+i), fp);
}
#else
fputc(*string, fp); fputc(*string, fp);
#endif
} }
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.20 1998/08/19 02:01:46 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.21 1998/08/24 01:13:40 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -43,7 +43,7 @@ static HeapTuple get_pg_dbtup(char *command, char *dbname, Relation dbrel); ...@@ -43,7 +43,7 @@ static HeapTuple get_pg_dbtup(char *command, char *dbname, Relation dbrel);
static void stop_vacuum(char *dbpath, char *dbname); static void stop_vacuum(char *dbpath, char *dbname);
void void
createdb(char *dbname, char *dbpath) createdb(char *dbname, char *dbpath, int encoding)
{ {
Oid db_id, Oid db_id,
user_id; user_id;
...@@ -90,8 +90,9 @@ createdb(char *dbname, char *dbpath) ...@@ -90,8 +90,9 @@ createdb(char *dbname, char *dbpath)
dbname, user_id, dbname); dbname, user_id, dbname);
#endif #endif
sprintf(buf, "insert into pg_database (datname, datdba, datpath)" sprintf(buf, "insert into pg_database (datname, datdba, encoding, datpath)"
" values (\'%s\', \'%d\', \'%s\');", dbname, user_id, loc); " values (\'%s\', \'%d\', \'%d\', \'%s\');", dbname, user_id, encoding, loc);
pg_exec_query(buf); pg_exec_query(buf);
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.14 1998/08/19 02:01:52 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/commands/Attic/rename.c,v 1.15 1998/08/24 01:13:42 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -31,11 +31,7 @@ ...@@ -31,11 +31,7 @@
#include <utils/excid.h> #include <utils/excid.h>
#include <utils/mcxt.h> #include <utils/mcxt.h>
#include <catalog/pg_proc.h> #include <catalog/pg_proc.h>
#ifdef MULTIBYTE
#include <catalog/pg_class_mb.h>
#else
#include <catalog/pg_class.h> #include <catalog/pg_class.h>
#endif
#include <optimizer/internal.h> #include <optimizer/internal.h>
#include <optimizer/prep.h> /* for find_all_inheritors */ #include <optimizer/prep.h> /* for find_all_inheritors */
#ifndef NO_SECURITY #ifndef NO_SECURITY
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.23 1998/08/18 00:48:55 scrappy Exp $ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.24 1998/08/24 01:13:44 momjian Exp $
* *
* HISTORY * HISTORY
* AUTHOR DATE MAJOR EVENT * AUTHOR DATE MAJOR EVENT
...@@ -2142,6 +2142,7 @@ CreatedbStmt: CREATE DATABASE database_name WITH opt_database1 opt_database2 ...@@ -2142,6 +2142,7 @@ CreatedbStmt: CREATE DATABASE database_name WITH opt_database1 opt_database2
#else #else
if ($6 != NULL) if ($6 != NULL)
elog(ERROR, "WITH ENCODING is not supported"); elog(ERROR, "WITH ENCODING is not supported");
n->encoding = 0;
#endif #endif
$$ = (Node *)n; $$ = (Node *)n;
} }
...@@ -2152,6 +2153,8 @@ CreatedbStmt: CREATE DATABASE database_name WITH opt_database1 opt_database2 ...@@ -2152,6 +2153,8 @@ CreatedbStmt: CREATE DATABASE database_name WITH opt_database1 opt_database2
n->dbpath = NULL; n->dbpath = NULL;
#ifdef MULTIBYTE #ifdef MULTIBYTE
n->encoding = GetTemplateEncoding(); n->encoding = GetTemplateEncoding();
#else
n->encoding = 0;
#endif #endif
$$ = (Node *)n; $$ = (Node *)n;
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lmgr.c,v 1.17 1998/08/19 02:02:40 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lmgr.c,v 1.18 1998/08/24 01:13:46 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -41,11 +41,7 @@ ...@@ -41,11 +41,7 @@
#include "catalog/catname.h" #include "catalog/catname.h"
#include "catalog/catalog.h" #include "catalog/catalog.h"
#ifdef MULTIBYTE
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_class.h" #include "catalog/pg_class.h"
#endif
#include "nodes/memnodes.h" #include "nodes/memnodes.h"
#include "storage/bufmgr.h" #include "storage/bufmgr.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.36 1998/08/11 18:28:15 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.37 1998/08/24 01:13:48 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -568,15 +568,9 @@ mdblindwrt(char *dbstr, ...@@ -568,15 +568,9 @@ mdblindwrt(char *dbstr,
int4 owner; int4 owner;
Oid id; Oid id;
char *tmpPath; char *tmpPath;
#ifdef MULTIBYTE
int tmpEncoding; int tmpEncoding;
#endif
#ifdef MULTIBYTE
GetRawDatabaseInfo(dbstr, &owner, &id, dbpath, &tmpEncoding); GetRawDatabaseInfo(dbstr, &owner, &id, dbpath, &tmpEncoding);
#else
GetRawDatabaseInfo(dbstr, &owner, &id, dbpath);
#endif
if (id != dbid) if (id != dbid)
elog(FATAL, "mdblindwrt: oid of db %s is not %u", dbstr, dbid); elog(FATAL, "mdblindwrt: oid of db %s is not %u", dbstr, dbid);
...@@ -613,16 +607,9 @@ mdblindwrt(char *dbstr, ...@@ -613,16 +607,9 @@ mdblindwrt(char *dbstr,
int4 owner; int4 owner;
Oid id; Oid id;
char *tmpPath; char *tmpPath;
#ifdef MULTIBYTE
int tmpEncoding; int tmpEncoding;
#endif
#ifdef MULTIBYTE
GetRawDatabaseInfo(dbstr, &owner, &id, dbpath, &tmpEncoding); GetRawDatabaseInfo(dbstr, &owner, &id, dbpath, &tmpEncoding);
#else
GetRawDatabaseInfo(dbstr, &owner, &id, dbpath);
#endif
if (id != dbid) if (id != dbid)
elog(FATAL, "mdblindwrt: oid of db %s is not %u", dbstr, dbid); elog(FATAL, "mdblindwrt: oid of db %s is not %u", dbstr, dbid);
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.45 1998/08/06 05:12:48 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.46 1998/08/24 01:13:50 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -558,11 +558,7 @@ ProcessUtility(Node *parsetree, ...@@ -558,11 +558,7 @@ ProcessUtility(Node *parsetree,
*ps_status = commandTag = "CREATEDB"; *ps_status = commandTag = "CREATEDB";
CHECK_IF_ABORTED(); CHECK_IF_ABORTED();
#ifdef MULTIBYTE
createdb(stmt->dbname, stmt->dbpath, stmt->encoding); createdb(stmt->dbname, stmt->dbpath, stmt->encoding);
#else
createdb(stmt->dbname, stmt->dbpath);
#endif
} }
break; break;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Makefile for utils/cache # Makefile for utils/cache
# #
# IDENTIFICATION # IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/utils/cache/Makefile,v 1.8 1998/07/26 04:30:54 scrappy Exp $ # $Header: /cvsroot/pgsql/src/backend/utils/cache/Makefile,v 1.9 1998/08/24 01:13:52 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -12,9 +12,6 @@ SRCDIR = ../../.. ...@@ -12,9 +12,6 @@ SRCDIR = ../../..
include ../../../Makefile.global include ../../../Makefile.global
CFLAGS += -I../.. CFLAGS += -I../..
ifdef MULTIBYTE
CFLAGS+= $(MBFLAGS)
endif
OBJS = catcache.o inval.o rel.o relcache.o syscache.o lsyscache.o fcache.o OBJS = catcache.o inval.o rel.o relcache.o syscache.o lsyscache.o fcache.o
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.15 1998/08/19 02:03:09 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/cache/Attic/fcache.c,v 1.16 1998/08/24 01:13:54 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -22,11 +22,7 @@ ...@@ -22,11 +22,7 @@
#include "catalog/pg_type.h" #include "catalog/pg_type.h"
#include "catalog/pg_proc.h" #include "catalog/pg_proc.h"
#include "catalog/pg_language.h" #include "catalog/pg_language.h"
#ifdef MULTIBYTE
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_class.h" #include "catalog/pg_class.h"
#endif
#include "parser/parsetree.h" /* for getrelname() */ #include "parser/parsetree.h" /* for getrelname() */
#include "utils/builtins.h" #include "utils/builtins.h"
#include "utils/fcache.h" #include "utils/fcache.h"
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.33 1998/08/11 18:28:28 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.34 1998/08/24 01:13:56 momjian Exp $
* *
* NOTES * NOTES
* InitPostgres() is the function called from PostgresMain * InitPostgres() is the function called from PostgresMain
...@@ -67,10 +67,7 @@ ...@@ -67,10 +67,7 @@
#include "catalog/catname.h" #include "catalog/catname.h"
#ifdef MULTIBYTE #ifdef MULTIBYTE
#include "catalog/pg_database_mb.h"
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
#else
#include "catalog/pg_database.h"
#endif #endif
#include "libpq/libpq.h" #include "libpq/libpq.h"
...@@ -83,11 +80,7 @@ static void InitStdio(void); ...@@ -83,11 +80,7 @@ static void InitStdio(void);
static void InitUserid(void); static void InitUserid(void);
extern char *ExpandDatabasePath(char *name); extern char *ExpandDatabasePath(char *name);
#ifdef MULTIBYTE
extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path, int *encoding); extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path, int *encoding);
#else
extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path);
#endif
static IPCKey PostgresIpcKey; static IPCKey PostgresIpcKey;
...@@ -128,16 +121,10 @@ InitMyDatabaseInfo(char *name) ...@@ -128,16 +121,10 @@ InitMyDatabaseInfo(char *name)
int4 owner; int4 owner;
char *path, char *path,
myPath[MAXPGPATH + 1]; myPath[MAXPGPATH + 1];
#ifdef MULTIBYTE
int encoding; int encoding;
#endif
SetDatabaseName(name); SetDatabaseName(name);
#ifdef MULTIBYTE
GetRawDatabaseInfo(name, &owner, &MyDatabaseId, myPath, &encoding); GetRawDatabaseInfo(name, &owner, &MyDatabaseId, myPath, &encoding);
#else
GetRawDatabaseInfo(name, &owner, &MyDatabaseId, myPath);
#endif
if (!OidIsValid(MyDatabaseId)) if (!OidIsValid(MyDatabaseId))
elog(FATAL, elog(FATAL,
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* conversion between client encoding and server internal encoding * conversion between client encoding and server internal encoding
* (currently mule internal code (mic) is used) * (currently mule internal code (mic) is used)
* Tatsuo Ishii * Tatsuo Ishii
* $Id: conv.c,v 1.1 1998/07/24 03:31:56 scrappy Exp $ * $Id: conv.c,v 1.2 1998/08/24 01:13:59 momjian Exp $
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
...@@ -369,7 +369,38 @@ static void mic2latin5(unsigned char *mic, unsigned char *p, int len) ...@@ -369,7 +369,38 @@ static void mic2latin5(unsigned char *mic, unsigned char *p, int len)
mic2latin(mic, p, len, LC_ISO8859_5); mic2latin(mic, p, len, LC_ISO8859_5);
} }
/*
* ASCII ---> MIC
*/
static void ascii2mic(unsigned char *l, unsigned char *p, int len)
{
int c1;
while (len-- > 0 && (c1 = *l++)) {
*p++ = (c1 & 0x7f);
}
*p = '\0';
}
/*
* MIC ---> ASCII
*/
static void mic2ascii(unsigned char *mic, unsigned char *p, int len)
{
int c1;
while (len > 0 && (c1 = *mic)) {
if (c1 > 0x7f) {
printBogusChar(&mic, &p);
} else { /* should be ASCII */
*p++ = c1;
}
}
*p = '\0';
}
pg_encoding_conv_tbl pg_conv_tbl[] = { pg_encoding_conv_tbl pg_conv_tbl[] = {
{SQL_ASCII, "SQL_ASCII", 0, ascii2mic, mic2ascii}, /* SQL/ACII */
{EUC_JP, "EUC_JP", 0, euc_jp2mic, mic2euc_jp}, /* EUC_JP */ {EUC_JP, "EUC_JP", 0, euc_jp2mic, mic2euc_jp}, /* EUC_JP */
{EUC_CN, "EUC_CN", 0, euc_cn2mic, mic2euc_cn}, /* EUC_CN */ {EUC_CN, "EUC_CN", 0, euc_cn2mic, mic2euc_cn}, /* EUC_CN */
{EUC_KR, "EUC_KR", 0, euc_kr2mic, mic2euc_kr}, /* EUC_KR */ {EUC_KR, "EUC_KR", 0, euc_kr2mic, mic2euc_kr}, /* EUC_KR */
......
/* /*
* conversion functions between pg_wchar and multi-byte streams. * conversion functions between pg_wchar and multi-byte streams.
* Tatsuo Ishii * Tatsuo Ishii
* $Id: wchar.c,v 1.1 1998/07/24 03:31:57 scrappy Exp $ * $Id: wchar.c,v 1.2 1998/08/24 01:14:01 momjian Exp $
*/ */
#include "mb/pg_wchar.h" #include "mb/pg_wchar.h"
...@@ -316,6 +316,7 @@ static int pg_sjis_mblen(const unsigned char *s) ...@@ -316,6 +316,7 @@ static int pg_sjis_mblen(const unsigned char *s)
} }
pg_wchar_tbl pg_wchar_table[] = { pg_wchar_tbl pg_wchar_table[] = {
{0, 0},
{pg_eucjp2wchar_with_len, pg_eucjp_mblen}, {pg_eucjp2wchar_with_len, pg_eucjp_mblen},
{pg_euccn2wchar_with_len, pg_euccn_mblen}, {pg_euccn2wchar_with_len, pg_euccn_mblen},
{pg_euckr2wchar_with_len, pg_euckr_mblen}, {pg_euckr2wchar_with_len, pg_euckr_mblen},
...@@ -347,7 +348,6 @@ pg_wchar_tbl pg_wchar_table[] = { ...@@ -347,7 +348,6 @@ pg_wchar_tbl pg_wchar_table[] = {
{0, 0}, {0, 0},
{0, 0}, {0, 0},
{0, 0}, {0, 0},
{0, 0},
{0, pg_sjis_mblen} {0, pg_sjis_mblen}
}; };
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.16 1998/08/19 02:03:24 momjian Exp $ * $Header: /cvsroot/pgsql/src/backend/utils/misc/Attic/database.c,v 1.17 1998/08/24 01:14:02 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -30,7 +30,11 @@ ...@@ -30,7 +30,11 @@
#include "utils/builtins.h" #include "utils/builtins.h"
#include "utils/syscache.h" #include "utils/syscache.h"
#ifdef MULTIBYTE
#include "mb/pg_wchar.h"
#endif
#ifdef 0
/* GetDatabaseInfo() /* GetDatabaseInfo()
* Pull database information from pg_database. * Pull database information from pg_database.
*/ */
...@@ -102,6 +106,7 @@ GetDatabaseInfo(char *name, int4 *owner, char *path) ...@@ -102,6 +106,7 @@ GetDatabaseInfo(char *name, int4 *owner, char *path)
return FALSE; return FALSE;
} /* GetDatabaseInfo() */ } /* GetDatabaseInfo() */
#endif
char * char *
ExpandDatabasePath(char *dbpath) ExpandDatabasePath(char *dbpath)
...@@ -175,7 +180,7 @@ ExpandDatabasePath(char *dbpath) ...@@ -175,7 +180,7 @@ ExpandDatabasePath(char *dbpath)
* -------------------------------- * --------------------------------
*/ */
void void
GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path) GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path, int *encoding)
{ {
int dbfd; int dbfd;
int fileflags; int fileflags;
...@@ -262,13 +267,25 @@ GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path) ...@@ -262,13 +267,25 @@ GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path)
* means of getting at sys cat attrs. * means of getting at sys cat attrs.
*/ */
tup_db = (Form_pg_database) GETSTRUCT(tup); 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) if (strcmp(name, tup_db->datname.data) == 0)
{ {
*db_id = tup->t_oid; *db_id = tup->t_oid;
strncpy(path, VARDATA(&(tup_db->datpath)), strncpy(path, VARDATA(&(tup_db->datpath)),
(VARSIZE(&(tup_db->datpath)) - VARHDRSZ)); (VARSIZE(&(tup_db->datpath)) - VARHDRSZ));
*(path + VARSIZE(&(tup_db->datpath)) - VARHDRSZ) = '\0'; *(path + VARSIZE(&(tup_db->datpath)) - VARHDRSZ) = '\0';
#ifdef MULTIBYTE
*encoding = tup_db->encoding;
#endif
goto done; goto done;
} }
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
# #
# #
# IDENTIFICATION # IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.52 1998/08/22 05:19:23 momjian Exp $ # $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.53 1998/08/24 01:14:04 momjian Exp $
# #
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
# ---------------- # ----------------
CMDNAME=`basename $0` CMDNAME=`basename $0`
MULTIBYTEID=0
MULTIBYTE=__MULTIBYTE__ MULTIBYTE=__MULTIBYTE__
if [ -n "$MULTIBYTE" ];then if [ -n "$MULTIBYTE" ];then
...@@ -374,11 +375,7 @@ if [ $template_only -eq 0 ]; then ...@@ -374,11 +375,7 @@ if [ $template_only -eq 0 ]; then
echo "Adding template1 database to pg_database..." echo "Adding template1 database to pg_database..."
echo "open pg_database" > /tmp/create.$$ echo "open pg_database" > /tmp/create.$$
if [ -z "$MULTIBYTE" ];then echo "insert (template1 $POSTGRES_SUPERUID $MULTIBYTEID template1)" >> /tmp/create.$$
echo "insert (template1 $POSTGRES_SUPERUID template1)" >> /tmp/create.$$
else
echo "insert (template1 $POSTGRES_SUPERUID $MULTIBYTEID template1)" >> /tmp/create.$$
fi
#echo "show" >> /tmp/create.$$ #echo "show" >> /tmp/create.$$
echo "close pg_database" >> /tmp/create.$$ echo "close pg_database" >> /tmp/create.$$
......
...@@ -48,7 +48,7 @@ drop table tmp_pg_shadow; ...@@ -48,7 +48,7 @@ drop table tmp_pg_shadow;
END END
echo "${BS}." echo "${BS}."
psql -l -A -q -t| tr '|' ' ' | grep -v '^template1 ' | \ psql -l -A -q -t| tr '|' ' ' | grep -v '^template1 ' | \
while read DATABASE DBUSERID DATAPATH while read DATABASE DBUSERID ENCODING DATAPATH
do do
POSTGRES_USER="`echo \" \ POSTGRES_USER="`echo \" \
select usename \ select usename \
...@@ -56,7 +56,14 @@ do ...@@ -56,7 +56,14 @@ do
where usesysid = $DBUSERID; \" | \ where usesysid = $DBUSERID; \" | \
psql -A -q -t template1`" psql -A -q -t template1`"
echo "${BS}connect template1 $POSTGRES_USER" echo "${BS}connect template1 $POSTGRES_USER"
echo "create database $DATABASE;"
if createdb -help|grep encoding >/dev/null
then
echo "create database with encoding='`pg_encoding $ENCODING`' $DATABASE;"
else
echo "create database $DATABASE;"
fi
echo "${BS}connect $DATABASE $POSTGRES_USER" echo "${BS}connect $DATABASE $POSTGRES_USER"
pg_dump ${1+"$@"} $DATABASE pg_dump ${1+"$@"} $DATABASE
if [ "$?" -ne 0 ] if [ "$?" -ne 0 ]
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_attribute.h,v 1.34 1998/08/11 18:28:39 momjian Exp $ * $Id: pg_attribute.h,v 1.35 1998/08/24 01:14:09 momjian Exp $
* *
* NOTES * NOTES
* the genbki.sh script reads this file and generates .bki * the genbki.sh script reads this file and generates .bki
...@@ -224,7 +224,8 @@ DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 -1 t f i f f)); ...@@ -224,7 +224,8 @@ DATA(insert OID = 0 ( 1247 cmax 29 0 4 -6 0 -1 -1 t f i f f));
*/ */
DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f)); DATA(insert OID = 0 ( 1262 datname 19 0 NAMEDATALEN 1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 -1 t f s f f)); DATA(insert OID = 0 ( 1262 datdba 23 0 4 2 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1262 datpath 25 0 -1 3 0 -1 -1 f f i f f)); DATA(insert OID = 0 ( 1262 encoding 23 0 4 3 0 -1 -1 t f s f f));
DATA(insert OID = 0 ( 1262 datpath 25 0 -1 4 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 ctid 27 0 6 -1 0 -1 -1 f f i f f)); DATA(insert OID = 0 ( 1262 ctid 27 0 6 -1 0 -1 -1 f f i f f));
DATA(insert OID = 0 ( 1262 oid 26 0 4 -2 0 -1 -1 t f i f f)); DATA(insert OID = 0 ( 1262 oid 26 0 4 -2 0 -1 -1 t f i f f));
DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 -1 f f i f f)); DATA(insert OID = 0 ( 1262 xmin 28 0 4 -3 0 -1 -1 f f i f f));
......
此差异已折叠。
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_class.h,v 1.22 1998/08/11 18:28:43 momjian Exp $ * $Id: pg_class.h,v 1.23 1998/08/24 01:14:13 momjian Exp $
* *
* NOTES * NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently * ``pg_relation'' is being replaced by ``pg_class''. currently
...@@ -130,7 +130,7 @@ DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 f _null_ )); ...@@ -130,7 +130,7 @@ DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 f _null_ ));
DESCR(""); DESCR("");
DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 f _null_ )); DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 f _null_ ));
DESCR(""); DESCR("");
DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 3 0 0 f _null_ )); DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 f _null_ ));
DESCR(""); DESCR("");
DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 f _null_ )); DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 f _null_ ));
DESCR(""); DESCR("");
......
/*-------------------------------------------------------------------------
*
* pg_class.h--
* definition of the system "relation" relation (pg_class)
* along with the relation's initial contents.
*
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_class_mb.h,v 1.4 1998/08/11 22:39:33 momjian Exp $
*
* NOTES
* ``pg_relation'' is being replaced by ``pg_class''. currently
* we are only changing the name in the catalogs but someday the
* code will be changed too. -cim 2/26/90
* [it finally happens. -ay 11/5/94]
*
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_RELATION_H
#define PG_RELATION_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_class definition. cpp turns this into
* typedef struct FormData_pg_class
*
* Note: the #if 0, #endif around the BKI_BEGIN.. END block
* below keeps cpp from seeing what is meant for the
* genbki script: pg_relation is now called pg_class, but
* only in the catalogs -cim 2/26/90
* ----------------
*/
/* ----------------
* This structure is actually variable-length (the last attribute is
* a POSTGRES array). Hence, sizeof(FormData_pg_class) does not
* describe the fixed-length or actual size of the structure.
* FormData_pg_class.relacl may not be correctly aligned, either,
* if aclitem and struct varlena don't align together. Hence,
* you MUST use heap_getattr() to get the relacl field.
* ----------------
*/
CATALOG(pg_class) BOOTSTRAP
{
NameData relname;
Oid reltype;
int4 relowner;
Oid relam;
int4 relpages;
int4 reltuples;
bool relhasindex;
bool relisshared;
char relkind;
int2 relnatts;
/*
* relnatts is the number of user attributes this class has. There
* must be exactly this many instances in Class pg_attribute for this
* class which have attnum > 0 (= user attribute).
*/
int2 relchecks; /* # of CHECK constraints, not stored in
* db? */
int2 reltriggers; /* # of TRIGGERs */
bool relhasrules;
aclitem relacl[1]; /* this is here for the catalog */
} FormData_pg_class;
#define CLASS_TUPLE_SIZE \
(offsetof(FormData_pg_class,relhasrules) + sizeof(bool))
/* ----------------
* Form_pg_class corresponds to a pointer to a tuple with
* the format of pg_class relation.
* ----------------
*/
typedef FormData_pg_class *Form_pg_class;
/* ----------------
* compiler constants for pg_class
* ----------------
*/
/* ----------------
* Natts_pg_class_fixed is used to tell routines that insert new
* pg_class tuples (as opposed to replacing old ones) that there's no
* relacl field.
* ----------------
*/
#define Natts_pg_class_fixed 13
#define Natts_pg_class 14
#define Anum_pg_class_relname 1
#define Anum_pg_class_reltype 2
#define Anum_pg_class_relowner 3
#define Anum_pg_class_relam 4
#define Anum_pg_class_relpages 5
#define Anum_pg_class_reltuples 6
#define Anum_pg_class_relhasindex 7
#define Anum_pg_class_relisshared 8
#define Anum_pg_class_relkind 9
#define Anum_pg_class_relnatts 10
#define Anum_pg_class_relchecks 11
#define Anum_pg_class_reltriggers 12
#define Anum_pg_class_relhasrules 13
#define Anum_pg_class_relacl 14
/* ----------------
* initial contents of pg_class
* ----------------
*/
DATA(insert OID = 1247 ( pg_type 71 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1249 ( pg_attribute 75 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1255 ( pg_proc 81 PGUID 0 0 0 f f r 16 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1259 ( pg_class 83 PGUID 0 0 0 f f r 14 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1260 ( pg_shadow 86 PGUID 0 0 0 f t r 8 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1261 ( pg_group 87 PGUID 0 0 0 f t s 3 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1262 ( pg_database 88 PGUID 0 0 0 f t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1264 ( pg_variable 90 PGUID 0 0 0 f t s 2 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1269 ( pg_log 99 PGUID 0 0 0 f t s 1 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1215 ( pg_attrdef 109 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1216 ( pg_relcheck 110 PGUID 0 0 0 t t r 4 0 0 f _null_ ));
DESCR("");
DATA(insert OID = 1219 ( pg_trigger 111 PGUID 0 0 0 t t r 7 0 0 f _null_ ));
DESCR("");
#define RelOid_pg_type 1247
#define RelOid_pg_attribute 1249
#define RelOid_pg_proc 1255
#define RelOid_pg_class 1259
#define RelOid_pg_shadow 1260
#define RelOid_pg_group 1261
#define RelOid_pg_database 1262
#define RelOid_pg_variable 1264
#define RelOid_pg_log 1269
#define RelOid_pg_attrdef 1215
#define RelOid_pg_relcheck 1216
#define RelOid_pg_trigger 1219
#define RELKIND_INDEX 'i' /* secondary index */
#define RELKIND_LOBJECT 'l' /* large objects */
#define RELKIND_RELATION 'r' /* cataloged heap */
#define RELKIND_SPECIAL 's' /* special (non-heap) */
#define RELKIND_SEQUENCE 'S' /* SEQUENCE relation */
#define RELKIND_UNCATALOGED 'u' /* temporary heap */
#endif /* PG_RELATION_H */
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: pg_database.h,v 1.5 1997/09/08 02:35:04 momjian Exp $ * $Id: pg_database.h,v 1.6 1998/08/24 01:14:17 momjian Exp $
* *
* NOTES * NOTES
* the genbki.sh script reads this file and generates .bki * the genbki.sh script reads this file and generates .bki
...@@ -34,9 +34,9 @@ CATALOG(pg_database) BOOTSTRAP ...@@ -34,9 +34,9 @@ CATALOG(pg_database) BOOTSTRAP
{ {
NameData datname; NameData datname;
int4 datdba; int4 datdba;
int4 encoding;
text datpath; /* VARIABLE LENGTH FIELD */ text datpath; /* VARIABLE LENGTH FIELD */
} FormData_pg_database; } FormData_pg_database;
/* ---------------- /* ----------------
* Form_pg_database corresponds to a pointer to a tuple with * Form_pg_database corresponds to a pointer to a tuple with
* the format of pg_database relation. * the format of pg_database relation.
...@@ -48,10 +48,9 @@ typedef FormData_pg_database *Form_pg_database; ...@@ -48,10 +48,9 @@ typedef FormData_pg_database *Form_pg_database;
* compiler constants for pg_database * compiler constants for pg_database
* ---------------- * ----------------
*/ */
#define Natts_pg_database 3 #define Natts_pg_database 4
#define Anum_pg_database_datname 1 #define Anum_pg_database_datname 1
#define Anum_pg_database_datdba 2 #define Anum_pg_database_datdba 2
#define Anum_pg_database_datpath 3 #define Anum_pg_database_encoding 3
#define Anum_pg_database_datpath 4
#endif /* PG_DATABASE_H */ #endif /* PG_DATABASE_H */
/*-------------------------------------------------------------------------
*
* pg_database.h--
* definition of the system "database" relation (pg_database)
* along with the relation's initial contents.
*
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: pg_database_mb.h,v 1.2 1998/08/06 05:13:09 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
* information from the DATA() statements.
*
*-------------------------------------------------------------------------
*/
#ifndef PG_DATABASE_H
#define PG_DATABASE_H
/* ----------------
* postgres.h contains the system type definintions and the
* CATALOG(), BOOTSTRAP and DATA() sugar words so this file
* can be read by both genbki.sh and the C compiler.
* ----------------
*/
/* ----------------
* pg_database definition. cpp turns this into
* typedef struct FormData_pg_database
* ----------------
*/
CATALOG(pg_database) BOOTSTRAP
{
NameData datname;
int4 datdba;
int4 encoding;
text datpath; /* VARIABLE LENGTH FIELD */
} FormData_pg_database;
/* ----------------
* Form_pg_database corresponds to a pointer to a tuple with
* the format of pg_database relation.
* ----------------
*/
typedef FormData_pg_database *Form_pg_database;
/* ----------------
* compiler constants for pg_database
* ----------------
*/
#define Natts_pg_database 4
#define Anum_pg_database_datname 1
#define Anum_pg_database_datdba 2
#define Anum_pg_database_encoding 3
#define Anum_pg_database_datpath 4
#endif /* PG_DATABASE_H */
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: dbcommands.h,v 1.4 1998/07/26 04:31:23 scrappy Exp $ * $Id: dbcommands.h,v 1.5 1998/08/24 01:14:20 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -19,11 +19,7 @@ ...@@ -19,11 +19,7 @@
*/ */
#define SIGKILLDAEMON1 SIGTERM #define SIGKILLDAEMON1 SIGTERM
#ifdef MULTIBYTE
extern void createdb(char *dbname, char *dbpath, int encoding); extern void createdb(char *dbname, char *dbpath, int encoding);
#else
extern void createdb(char *dbname, char *dbpath);
#endif
extern void destroydb(char *dbname); extern void destroydb(char *dbname);
#endif /* DBCOMMANDS_H */ #endif /* DBCOMMANDS_H */
/* $Id: pg_wchar.h,v 1.2 1998/07/26 04:31:26 scrappy Exp $ */ /* $Id: pg_wchar.h,v 1.3 1998/08/24 01:14:22 momjian Exp $ */
#ifndef PG_WCHAR_H #ifndef PG_WCHAR_H
#define PG_WCHAR_H #define PG_WCHAR_H
...@@ -7,21 +7,22 @@ ...@@ -7,21 +7,22 @@
#include "postgres.h" #include "postgres.h"
#include "miscadmin.h" /* for getdatabaseencoding() */ #include "miscadmin.h" /* for getdatabaseencoding() */
#define EUC_JP 0 /* EUC for Japanese */ #define SQL_ASCII 0 /* SQL/ASCII */
#define EUC_CN 1 /* EUC for Chinese */ #define EUC_JP 1 /* EUC for Japanese */
#define EUC_KR 2 /* EUC for Korean */ #define EUC_CN 2 /* EUC for Chinese */
#define EUC_KR 3 /* EUC for Korean */
#define EUC_TW 3 /* EUC for Taiwan */ #define EUC_TW 3 /* EUC for Taiwan */
#define UNICODE 4 /* Unicode UTF-8 */ #define UNICODE 5 /* Unicode UTF-8 */
#define MULE_INTERNAL 5 /* Mule internal code */ #define MULE_INTERNAL 6 /* Mule internal code */
#define LATIN1 6 /* ISO-8859 Latin 1 */ #define LATIN1 7 /* ISO-8859 Latin 1 */
#define LATIN2 7 /* ISO-8859 Latin 2 */ #define LATIN2 8 /* ISO-8859 Latin 2 */
#define LATIN3 8 /* ISO-8859 Latin 3 */ #define LATIN3 9 /* ISO-8859 Latin 3 */
#define LATIN4 9 /* ISO-8859 Latin 4 */ #define LATIN4 10 /* ISO-8859 Latin 4 */
#define LATIN5 10 /* ISO-8859 Latin 5 */ #define LATIN5 11 /* ISO-8859 Latin 5 */
#define LATIN6 11 /* ISO-8859 Latin 6 */ #define LATIN6 12 /* ISO-8859 Latin 6 */
#define LATIN7 12 /* ISO-8859 Latin 7 */ #define LATIN7 13 /* ISO-8859 Latin 7 */
#define LATIN8 13 /* ISO-8859 Latin 8 */ #define LATIN8 14 /* ISO-8859 Latin 8 */
#define LATIN9 14 /* ISO-8859 Latin 9 */ #define LATIN9 15 /* ISO-8859 Latin 9 */
/* followings are for client encoding only */ /* followings are for client encoding only */
#define SJIS 32 /* Shift JIS */ #define SJIS 32 /* Shift JIS */
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: miscadmin.h,v 1.30 1998/08/11 18:28:33 momjian Exp $ * $Id: miscadmin.h,v 1.31 1998/08/24 01:14:07 momjian Exp $
* *
* NOTES * NOTES
* some of the information in this file will be moved to * some of the information in this file will be moved to
...@@ -116,11 +116,7 @@ extern char *DatabaseName; ...@@ -116,11 +116,7 @@ extern char *DatabaseName;
extern char *DatabasePath; extern char *DatabasePath;
/* in utils/misc/database.c */ /* in utils/misc/database.c */
#ifdef MULTIBYTE
extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path, int *encoding); extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path, int *encoding);
#else
extern void GetRawDatabaseInfo(char *name, int4 *owner, Oid *db_id, char *path);
#endif
extern int GetDatabaseInfo(char *name, int4 *owner, char *path); extern int GetDatabaseInfo(char *name, int4 *owner, char *path);
extern char *ExpandDatabasePath(char *path); extern char *ExpandDatabasePath(char *path);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: parsenodes.h,v 1.54 1998/08/10 02:26:37 momjian Exp $ * $Id: parsenodes.h,v 1.55 1998/08/24 01:14:24 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -480,10 +480,8 @@ typedef struct CreatedbStmt ...@@ -480,10 +480,8 @@ typedef struct CreatedbStmt
NodeTag type; NodeTag type;
char *dbname; /* database to create */ char *dbname; /* database to create */
char *dbpath; /* location of database */ char *dbpath; /* location of database */
#ifdef MULTIBYTE
int encoding; /* default encoding int encoding; /* default encoding
(see regex/pg_wchar.h) */ (see regex/pg_wchar.h) */
#endif
} CreatedbStmt; } CreatedbStmt;
/* ---------------------- /* ----------------------
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册