diff options
author | Marc G. Fournier <scrappy@hub.org> | 1998-07-24 03:32:46 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1998-07-24 03:32:46 +0000 |
commit | bf00bbb0c4940b80b46b7e5b379cd64184f2262f (patch) | |
tree | bf32bf3bafe6f367ee97249c83afb4c9e9a637af /src/bin/pg_encoding | |
parent | 6e66468f3a160878111578a93be2852635eb4f4d (diff) | |
download | postgresql-bf00bbb0c4940b80b46b7e5b379cd64184f2262f.tar.gz postgresql-bf00bbb0c4940b80b46b7e5b379cd64184f2262f.zip |
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.
Diffstat (limited to 'src/bin/pg_encoding')
-rw-r--r-- | src/bin/pg_encoding/Makefile | 36 | ||||
-rw-r--r-- | src/bin/pg_encoding/pg_encoding.c | 49 |
2 files changed, 85 insertions, 0 deletions
diff --git a/src/bin/pg_encoding/Makefile b/src/bin/pg_encoding/Makefile new file mode 100644 index 00000000000..4830f0d0539 --- /dev/null +++ b/src/bin/pg_encoding/Makefile @@ -0,0 +1,36 @@ +#------------------------------------------------------------------------- +# +# Makefile for bin/pg_encoding +# +# Copyright (c) 1998, PostgreSQL development group +# +# +# IDENTIFICATION +# $Header: /cvsroot/pgsql/src/bin/pg_encoding/Attic/Makefile,v 1.1 1998/07/24 03:32:10 scrappy Exp $ +# +#------------------------------------------------------------------------- + +SRCDIR= ../.. +include ../../Makefile.global + +OBJS= pg_encoding.o + +CFLAGS+= -DMB=$(MB) -I$(SRCDIR)/include + +all: pg_encoding + +pg_encoding: $(OBJS) $(LIBPQDIR)/libpq.a + $(CC) -o pg_encoding $(OBJS) -L$(LIBPQDIR) -lpq $(LDFLAGS) + +install: pg_encoding + $(INSTALL) $(INSTL_EXE_OPTS) pg_encoding $(BINDIR)/pg_encoding + +depend dep: + $(CC) -MM $(CFLAGS) *.c >depend + +clean: + rm -f pg_encoding pg_encoding.o + +ifeq (depend,$(wildcard depend)) +include depend +endif diff --git a/src/bin/pg_encoding/pg_encoding.c b/src/bin/pg_encoding/pg_encoding.c new file mode 100644 index 00000000000..38a87a4f398 --- /dev/null +++ b/src/bin/pg_encoding/pg_encoding.c @@ -0,0 +1,49 @@ +/*------------------------------------------------------------------------- + * + * pg_encoding.c-- + * + * + * Copyright (c) 1998, PostgreSQL development group + * + * + * IDENTIFICATION + * $Header: /cvsroot/pgsql/src/bin/pg_encoding/Attic/pg_encoding.c,v 1.1 1998/07/24 03:32:10 scrappy Exp $ + * + *------------------------------------------------------------------------- + */ +#include <stdlib.h> +#include <stdio.h> +#include "postgres.h" +#include "mb/pg_wchar.h" + +static void usage(void); + +int +main(int argc, char **argv) +{ + char c; + char *p; + int rtn; + + if (argc < 2) { + usage(); + exit(1); + } + p = argv[1]; + while((c = *p++)) { + if (c < '0' || c > '9') { + rtn = pg_char_to_encoding(argv[1]); + if (rtn >= 0) { + printf("%d\n",rtn); + } + exit(0); + } + } + printf("%s\n",pg_encoding_to_char(atoi(argv[1]))); + exit(0); +} + +static void usage() +{ + fprintf(stderr, "pg_encoding: encoding_name | encoding_number\n"); +} |