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/bin/pg_encoding/pg_encoding.c | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/bin/pg_encoding/pg_encoding.c (limited to 'src/bin/pg_encoding/pg_encoding.c') 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 +#include +#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"); +} -- cgit v1.2.3