aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_encoding/pg_encoding.c
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1998-07-24 03:32:46 +0000
committerMarc G. Fournier <scrappy@hub.org>1998-07-24 03:32:46 +0000
commitbf00bbb0c4940b80b46b7e5b379cd64184f2262f (patch)
treebf32bf3bafe6f367ee97249c83afb4c9e9a637af /src/bin/pg_encoding/pg_encoding.c
parent6e66468f3a160878111578a93be2852635eb4f4d (diff)
downloadpostgresql-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/pg_encoding.c')
-rw-r--r--src/bin/pg_encoding/pg_encoding.c49
1 files changed, 49 insertions, 0 deletions
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");
+}