1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00

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.
This commit is contained in:
Marc G. Fournier
1998-07-24 03:32:46 +00:00
parent 6e66468f3a
commit bf00bbb0c4
82 changed files with 2161 additions and 759 deletions

View File

@ -4,7 +4,7 @@
# Makefile for the bootstrap module
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.13 1998/04/06 00:22:02 momjian Exp $
# $Header: /cvsroot/pgsql/src/backend/bootstrap/Makefile,v 1.14 1998/07/24 03:31:06 scrappy Exp $
#
#
# We must build bootparse.c and bootscanner.c with yacc and lex and sed,
@ -22,6 +22,9 @@ SRCDIR= ../..
include ../../Makefile.global
CFLAGS += -I..
ifdef MB
CFLAGS += -DMB=$(MB)
endif
ifeq ($(CC), gcc)
CFLAGS+= -Wno-error

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.16 1998/04/26 04:05:51 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootparse.y,v 1.17 1998/07/24 03:31:07 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -31,8 +31,13 @@
#include "bootstrap/bootstrap.h"
#include "catalog/heap.h"
#include "catalog/pg_am.h"
#ifdef MB
#include "catalog/pg_attribute_mb.h"
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_attribute.h"
#include "catalog/pg_class.h"
#endif
#include "commands/defrem.h"
#include "nodes/nodes.h"
#include "nodes/parsenodes.h"

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.8 1997/11/24 05:07:56 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootscanner.l,v 1.9 1998/07/24 03:31:08 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -20,7 +20,11 @@
#include "storage/block.h"
#include "storage/off.h"
#include "storage/itemptr.h"
#ifdef MB
#include "catalog/pg_attribute_mb.h"
#else
#include "catalog/pg_attribute.h"
#endif
#include "access/attnum.h"
#include "nodes/pg_list.h"
#include "access/tupdesc.h"
@ -28,7 +32,11 @@
#include "access/funcindex.h"
#include "storage/fd.h"
#include "catalog/pg_am.h"
#ifdef MB
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_class.h"
#endif
#include "nodes/nodes.h"
#include "rewrite/prs2lock.h"
#include "access/skey.h"

View File

@ -7,7 +7,7 @@
* Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.44 1998/06/27 04:53:29 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.45 1998/07/24 03:31:08 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@ -41,8 +41,13 @@
#include "catalog/catname.h"
#include "catalog/index.h"
#include "catalog/pg_am.h"
#ifdef MB
#include "catalog/pg_attribute_mb.h"
#include "catalog/pg_class_mb.h"
#else
#include "catalog/pg_attribute.h"
#include "catalog/pg_class.h"
#endif
#include "catalog/pg_type.h"
#include "executor/execdesc.h"
#include "executor/hashjoin.h"