referring to "multibyte" where it really means character encoding.
echo "${ECHO_T}$enable_recode" >&6
-#
-# Multibyte support
-#
-MULTIBYTE=SQL_ASCII
-
-cat >>confdefs.h <<\_ACEOF
-#define MULTIBYTE 1
-_ACEOF
-
-
-
#
# NLS
#
s,@host_os@,$host_os,;t t
s,@PORTNAME@,$PORTNAME,;t t
s,@TAS@,$TAS,;t t
-s,@MULTIBYTE@,$MULTIBYTE,;t t
s,@enable_nls@,$enable_nls,;t t
s,@WANTED_LANGUAGES@,$WANTED_LANGUAGES,;t t
s,@default_port@,$default_port,;t t
dnl Process this file with autoconf to produce a configure script.
-dnl $Header: /cvsroot/pgsql/configure.in,v 1.201 2002/09/02 16:14:01 momjian Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.202 2002/09/03 21:45:41 petere Exp $
dnl
dnl Developers, please strive to achieve this order:
dnl
AC_MSG_RESULT([$enable_recode])
-#
-# Multibyte support
-#
-MULTIBYTE=SQL_ASCII
-AC_DEFINE(MULTIBYTE, 1, [Set to 1 if you want to use multibyte characters (--enable-multibyte)])
-AC_SUBST(MULTIBYTE)
-
#
# NLS
#
#define TABLE_DICT_END }
#include "dict/porter_english.dct"
-#ifdef USE_LOCALE
#include "dict/russian_stemming.dct"
-#endif
#undef TABLE_DICT_START
#undef TABLE_DICT_END
k;
MAPDICT *md;
bool needinit[lengthof(dicts)];
-
-#ifdef USE_LOCALE
PG_LocaleCategories lc;
int bylocaledict = NODICT;
-#endif
if (inited)
return;
for (i = 1; i < lengthof(dicts); i++)
needinit[i] = false;
-#ifdef USE_LOCALE
PGLC_current(&lc);
if ( lc.lc_ctype )
for (i = 1; i < lengthof(dicts); i++)
break;
}
PGLC_free_categories(&lc);
-#endif
for (i = 1; i < lengthof(mapdict); i++)
{
break;
else if (GETDICT(md, k) == BYLOCALE)
{
-#ifdef USE_LOCALE
if (bylocaledict == NODICT)
continue;
GETDICT(md, k) = bylocaledict;
-#else
- continue;
-#endif
}
if (GETDICT(md, k) >= (int2) lengthof(dicts))
continue;
# -*-makefile-*-
-# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.153 2002/08/22 22:43:10 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.154 2002/09/03 21:45:41 petere Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
with_python = @with_python@
with_tcl = @with_tcl@
with_tk = @with_tk@
-MULTIBYTE = @MULTIBYTE@
enable_shared = @enable_shared@
enable_rpath = @enable_rpath@
enable_nls = @enable_nls@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.102 2002/09/02 02:47:01 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/dbcommands.c,v 1.103 2002/09/03 21:45:41 petere Exp $
*
*-------------------------------------------------------------------------
*/
/* sysid of the owner */
if (ownerIdP)
*ownerIdP = dbform->datdba;
- /* multibyte encoding */
+ /* character encoding */
if (encodingP)
*encodingP = dbform->encoding;
/* allowed as template? */
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pqcomm.c,v 1.138 2002/09/02 02:47:02 momjian Exp $
+ * $Id: pqcomm.c,v 1.139 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
* The return value is placed in an expansible StringInfo.
* Note that space allocation comes from the current memory context!
*
- * NOTE: this routine does not do any MULTIBYTE conversion,
+ * NOTE: this routine does not do any character set conversion,
* even though it is presumably useful only for text, because
- * no code in this module should depend on MULTIBYTE mode.
+ * no code in this module should depend on the encoding.
* See pq_getstr in pqformat.c for that.
*
* returns 0 if OK, EOF if trouble
* formatting/conversion routines that are needed to produce valid messages.
* Note in particular the distinction between "raw data" and "text"; raw data
* is message protocol characters and binary values that are not subject to
- * MULTIBYTE conversion, while text is converted by MULTIBYTE rules.
+ * character set conversion, while text is converted by character encoding rules.
*
* Incoming messages are read directly off the wire, as it were, but there
* are still data-conversion tasks to be performed.
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pqformat.c,v 1.23 2002/08/29 03:22:01 tgl Exp $
+ * $Id: pqformat.c,v 1.24 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
* pq_sendbyte - append a raw byte to a StringInfo buffer
* pq_sendint - append a binary integer to a StringInfo buffer
* pq_sendbytes - append raw data to a StringInfo buffer
- * pq_sendcountedtext - append a text string (with MULTIBYTE conversion)
- * pq_sendstring - append a null-terminated text string (with MULTIBYTE)
+ * pq_sendcountedtext - append a text string (with character set conversion)
+ * pq_sendstring - append a null-terminated text string (with conversion)
* pq_endmessage - send the completed message to the frontend
* Note: it is also possible to append data to the StringInfo buffer using
* the regular StringInfo routines, but this is discouraged since required
- * MULTIBYTE conversion may not occur.
+ * character set conversion may not occur.
*
* Special-case message output:
- * pq_puttextmessage - generate a MULTIBYTE-converted message in one step
+ * pq_puttextmessage - generate a character set-converted message in one step
*
* Message input:
* pq_getint - get an integer from connection
* pq_getstr - get a null terminated string from connection
- * pq_getstr performs MULTIBYTE conversion on the collected string.
+ * pq_getstr performs character set conversion on the collected string.
* Use the raw pqcomm.c routines pq_getstring or pq_getbytes
* to fetch data without conversion.
*/
}
/* --------------------------------
- * pq_sendcountedtext - append a text string (with MULTIBYTE conversion)
+ * pq_sendcountedtext - append a text string (with character set conversion)
*
* The data sent to the frontend by this routine is a 4-byte count field
* (the count includes itself, by convention) followed by the string.
}
/* --------------------------------
- * pq_sendstring - append a null-terminated text string (with MULTIBYTE)
+ * pq_sendstring - append a null-terminated text string (with conversion)
*
* NB: passed text string must be null-terminated, and so is the data
* sent to the frontend.
}
/* --------------------------------
- * pq_puttextmessage - generate a MULTIBYTE-converted message in one step
+ * pq_puttextmessage - generate a character set-converted message in one step
*
* This is the same as the pqcomm.c routine pq_putmessage, except that
- * the message body is a null-terminated string to which MULTIBYTE
+ * the message body is a null-terminated string to which encoding
* conversion applies.
*
* returns 0 if OK, EOF if trouble
# Makefile for regex
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/regex/Makefile,v 1.17 2001/10/04 04:16:16 ishii Exp $
+# $Header: /cvsroot/pgsql/src/backend/regex/Makefile,v 1.18 2002/09/03 21:45:42 petere Exp $
#
#-------------------------------------------------------------------------
override CPPFLAGS += -DPOSIX_MISTAKE
-DEBUGOBJ =
-
OBJS = regcomp.o regerror.o regexec.o regfree.o
-
-ifdef MULTIBYTE
DEBUGOBJ += ../utils/mb/SUBSYS.o
-endif
all: SUBSYS.o
retest: retest.o SUBSYS.o $(DEBUGOBJ)
$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LIBS) -o $@
-depend dep:
- $(CC) -MM $(CFLAGS) *.c >depend
-
clean:
rm -f SUBSYS.o $(OBJS) retest retest.o
-
-ifeq (depend,$(wildcard depend))
-include depend
-endif
#
# Makefile for utils
#
-# $Header: /cvsroot/pgsql/src/backend/utils/Makefile,v 1.19 2002/08/10 17:59:28 petere Exp $
+# $Header: /cvsroot/pgsql/src/backend/utils/Makefile,v 1.20 2002/09/03 21:45:42 petere Exp $
#
subdir = src/backend/utils/
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
-SUBDIRS := adt cache error fmgr hash init misc mmgr sort time
-ifdef MULTIBYTE
-SUBDIRS += mb
-endif
+SUBDIRS := adt cache error fmgr hash init misc mmgr sort time mb
SUBDIROBJS := $(SUBDIRS:%=%/SUBSYS.o)
clean:
for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
rm -f SUBSYS.o fmgrtab.o fmgroids.h fmgrtab.c
-
-dep depend: fmgroids.h fmgrtab.c
- for dir in $(SUBDIRS); do $(MAKE) -C $$dir $@ || exit; done
-
-ifeq (depend,$(wildcard depend))
-include depend
-endif
* workings can be found in the book "Software Solutions in C" by
* Dale Schumacher, Academic Press, ISBN: 0-12-632360-7.
*
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.54 2002/08/20 16:46:29 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/cash.c,v 1.55 2002/09/03 21:45:42 petere Exp $
*/
#include "postgres.h"
* XXX HACK It looks as though some of the symbols for
* monetary values returned by localeconv() can be multiple
* bytes/characters. This code assumes one byte only. - tgl 97/04/14
- * XXX UNHACK Allow the currency symbol to be multi-byte.
+ * XXX UNHACK Allow the currency symbol to be multibyte.
* - thomas 1998-03-01
*/
Datum
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/like.c,v 1.52 2002/09/02 06:22:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/like.c,v 1.53 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
return (0);
/*
- * ok, p1 and p2 are both > CHARMAX, then they must be multi-byte
+ * ok, p1 and p2 are both > CHARMAX, then they must be multibyte
* characters
*/
l = pg_mblen(p1);
* like_match.c
* like expression handling internal code.
*
- * This file is included by like.c *twice* if multibyte is enabled.
- * This is for an optimization of single byte encodings.
+ * This file is included by like.c *twice*, to provide an optimization
+ * for single-byte encodings.
+ *
* Before the inclusion, we need to define following macros:
*
* CHAREQ
* Copyright (c) 1996-2002, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/like_match.c,v 1.3 2002/06/20 20:29:37 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/like_match.c,v 1.4 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/quote.c,v 1.8 2002/08/29 07:22:27 ishii Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/quote.c,v 1.9 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
PG_RETURN_TEXT_P(result);
}
-
/*
- * MULTIBYTE dependant internal functions follow
- *
+ * Check if a given identifier needs quoting
*/
-
-/* Check if a given identifier needs quoting (MULTIBYTE version) */
static bool
quote_ident_required(text *iptr)
{
return false;
}
-/* Return a properly quoted identifier (MULTIBYTE version) */
+/*
+ * Return a properly quoted identifier
+ */
static text *
do_quote_ident(text *iptr)
{
return result;
}
-/* Return a properly quoted literal value (MULTIBYTE version) */
+/*
+ * Return a properly quoted literal value
+ */
static text *
do_quote_literal(text *lptr)
{
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.115 2002/09/02 06:22:19 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/selfuncs.c,v 1.116 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
/*
* Truncate off the last character, which might be more than 1
- * byte in MULTIBYTE case.
+ * byte, depending on the character encoding.
*/
if (datatype != BYTEAOID && pg_database_encoding_max_length() > 1)
len = pg_mbcliplen((const unsigned char *) workstr, len, len - 1);
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.92 2002/08/29 07:22:27 ishii Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.93 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
* Convert a C string to VARCHAR internal representation. atttypmod
* is the declared length of the type plus VARHDRSZ.
*
- * Note that if MULTIBYTE is enabled, atttypmod is regarded as the
- * number of characters, rather than number of bytes.
+ * Note that atttypmod is regarded as the number of characters, which
+ * is not necessarily the same as the number of bytes.
*
* If the C string is too long,
* raise an error, unless the extra characters are spaces, in which
{
size_t maxmblen;
- /* truncate multi-byte string preserving multi-byte boundary */
+ /* truncate multibyte string preserving multibyte boundary */
maxmblen = pg_mbcharcliplen(VARDATA(source), len - VARHDRSZ,
maxlen - VARHDRSZ) + VARHDRSZ;
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.90 2002/08/29 07:22:27 ishii Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.91 2002/09/03 21:45:42 petere Exp $
*
*-------------------------------------------------------------------------
*/
* If the length is less than zero, return the remaining string.
*
* Note that the arguments operate on octet length,
- * so not aware of multi-byte character sets.
+ * so not aware of multibyte character sets.
*
- * Added multi-byte support.
+ * Added multibyte support.
* - Tatsuo Ishii 1998-4-21
* Changed behavior if starting position is less than one to conform to SQL92 behavior.
* Formerly returned the entire string; now returns a portion.
* Implements the SQL92 POSITION() function.
* Ref: A Guide To The SQL Standard, Date & Darwen, 1997
* - thomas 1997-07-27
- *
- * Added multi-byte support.
- * - Tatsuo Ishii 1998-4-21
*/
Datum
textpos(PG_FUNCTION_ARGS)
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.114 2002/09/02 02:47:05 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/init/postinit.c,v 1.115 2002/09/03 21:45:42 petere Exp $
*
*
*-------------------------------------------------------------------------
* creating any serious problems.
*
* This is also a handy place to fetch the database encoding info out
- * of pg_database, if we are in MULTIBYTE mode.
+ * of pg_database.
*
* To avoid having to read pg_database more times than necessary
* during session startup, this place is also fitting to set up any
name);
/*
- * OK, we're golden. Only other to-do item is to save the MULTIBYTE
- * encoding info out of the pg_database tuple --- or complain, if we
- * can't support it.
+ * OK, we're golden. Only other to-do item is to save the
+ * encoding info out of the pg_database tuple.
*/
SetDatabaseEncoding(dbform->encoding);
/* If we have no other source of client_encoding, use server encoding */
requires conv.c and wchar.c
conv.c: static functions and a public table for code conversion
wchar.c: mostly static functions and a public table for mb string and
- multi-byte conversion
+ multibyte conversion
mbutilc.c: public functions for the backend only.
requires conv.c and wchar.c
wstrcmp.c: strcmp for mb
win.c: a tool to generate KOI8 <--> CP1251 conversion table
big5.c: conversion between BIG5 and Mule Internal Code(CNS 116643-1992
plane 1 and plane 2).
-utftest.c: test driver for utf2wchar()
\ No newline at end of file
+utftest.c: test driver for utf2wchar()
* Encoding names and routines for work with it. All
* in this file is shared bedween FE and BE.
*
- * $Id: encnames.c,v 1.8 2002/06/13 08:28:54 ishii Exp $
+ * $Id: encnames.c,v 1.9 2002/09/03 21:45:43 petere Exp $
*/
#ifdef FRONTEND
#include "postgres_fe.h"
}, /* IBM866 */
{
"big5", PG_BIG5
- }, /* Big5; Chinese for Taiwan Multi-byte set */
+ }, /* Big5; Chinese for Taiwan multibyte set */
{
"euccn", PG_EUC_CN
}, /* EUC-CN; Extended Unix Code for
* client encoding and server internal encoding.
* (currently mule internal code (mic) is used)
* Tatsuo Ishii
- * $Id: mbutils.c,v 1.33 2002/08/29 07:22:28 ishii Exp $
+ * $Id: mbutils.c,v 1.34 2002/09/03 21:45:43 petere Exp $
*/
#include "postgres.h"
#include "access/xact.h"
return result;
}
-/* convert a multi-byte string to a wchar */
+/* convert a multibyte string to a wchar */
int
pg_mb2wchar(const unsigned char *from, pg_wchar *to)
{
return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) (from, to, strlen(from));
}
-/* convert a multi-byte string to a wchar with a limited length */
+/* convert a multibyte string to a wchar with a limited length */
int
pg_mb2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
{
return (*pg_wchar_table[DatabaseEncoding->encoding].mb2wchar_with_len) (from, to, len);
}
-/* returns the byte length of a multi-byte word */
+/* returns the byte length of a multibyte word */
int
pg_mblen(const unsigned char *mbstr)
{
return ((*pg_wchar_table[DatabaseEncoding->encoding].mblen) (mbstr));
}
-/* returns the length (counted as a wchar) of a multi-byte string */
+/* returns the length (counted as a wchar) of a multibyte string */
int
pg_mbstrlen(const unsigned char *mbstr)
{
return (len);
}
-/* returns the length (counted as a wchar) of a multi-byte string
+/* returns the length (counted as a wchar) of a multibyte string
(not necessarily NULL terminated) */
int
pg_mbstrlen_with_len(const unsigned char *mbstr, int limit)
}
/*
- * returns the byte length of a multi-byte string
+ * returns the byte length of a multibyte string
* (not necessarily NULL terminated)
* that is no longer than limit.
- * this function does not break multi-byte word boundary.
+ * this function does not break multibyte word boundary.
*/
int
pg_mbcliplen(const unsigned char *mbstr, int len, int limit)
/*
- * conversion functions between pg_wchar and multi-byte streams.
+ * conversion functions between pg_wchar and multibyte streams.
* Tatsuo Ishii
- * $Id: wchar.c,v 1.28 2002/06/13 08:28:54 ishii Exp $
+ * $Id: wchar.c,v 1.29 2002/09/03 21:45:43 petere Exp $
*
* WIN1250 client encoding updated by Pavel Behal
*
}
/*
- * Returns the byte length of a multi-byte word.
+ * Returns the byte length of a multibyte word.
*/
int
pg_encoding_mblen(int encoding, const unsigned char *mbstr)
l = pg_mblen(mbstr);
- /* multi-byte letter? */
+ /* multibyte letter? */
if (l > 1)
{
for (i = 1; i < l; i++)
if (i > len || *(mbstr + i) == '\0' ||
/*
- * we assume that every muti-byte letter consists of bytes
+ * we assume that every multibyte letter consists of bytes
* being the 8th bit set
*/
((*(mbstr + i) & 0x80) == 0))
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.38 2002/08/30 18:14:21 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/Makefile,v 1.39 2002/09/03 21:45:43 petere Exp $
#
#-------------------------------------------------------------------------
include $(top_builddir)/src/Makefile.global
DIRS := initdb initlocation ipcclean pg_ctl pg_dump pg_id \
- psql scripts pg_config pg_controldata pg_resetxlog
-
-ifdef MULTIBYTE
-DIRS += pg_encoding
-endif
+ psql scripts pg_config pg_controldata pg_resetxlog \
+ pg_encoding
ifeq ($(with_tcl), yes)
DIRS += pgtclsh
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.27 2002/06/20 20:29:41 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.28 2002/09/03 21:45:43 petere Exp $
#
#-------------------------------------------------------------------------
all: initdb
initdb: initdb.sh $(top_builddir)/src/Makefile.global
- sed -e 's/@MULTIBYTE@/$(MULTIBYTE)/g' \
- -e 's/@VERSION@/$(VERSION)/g' \
+ sed -e 's/@VERSION@/$(VERSION)/g' \
-e 's,@SHELL@,$(SHELL),g' \
-e 's,@bindir@,$(bindir),g' \
-e 's,@datadir@,$(datadir),g' \
# Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
# Portions Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.170 2002/08/31 17:14:28 tgl Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.171 2002/09/03 21:45:43 petere Exp $
#
#-------------------------------------------------------------------------
# Note that "datadir" is not the directory we're initializing, it's
# merely how Autoconf names PREFIX/share.
datadir='@datadir@'
-# as set by configure --enable-multibyte[=XXX].
-MULTIBYTE='@MULTIBYTE@'
# Check for echo -n vs echo \c
# COMMAND LINE OPTIONS
# 0 is the default (non-)encoding
-MULTIBYTEID=0
+ENCODINGID=0
# Set defaults:
debug=
# The encoding of the template1 database. Defaults to what you chose
# at configure time. (see above)
--encoding|-E)
- MULTIBYTE="$2"
+ ENCODING="$2"
shift;;
--encoding=*)
- MULTIBYTE=`echo $1 | sed 's/^--encoding=//'`
+ ENCODING=`echo $1 | sed 's/^--encoding=//'`
;;
-E*)
- MULTIBYTE=`echo $1 | sed 's/^-E//'`
+ ENCODING=`echo $1 | sed 's/^-E//'`
;;
# Locale flags
--locale)
echo "Options:"
echo " [-D, --pgdata] DATADIR Location for this database cluster"
echo " -W, --pwprompt Prompt for a password for the new superuser"
- if [ -n "$MULTIBYTE" ] ; then
- echo " -E, --encoding ENCODING Set default encoding for new databases"
- fi
+ echo " -E, --encoding ENCODING Set default encoding for new databases"
echo " --locale LOCALE Initialize database cluster with given locale"
echo " --lc-collate, --lc-ctype, --lc-messages LOCALE"
echo " --lc-monetary, --lc-numeric, --lc-time LOCALE"
fi
#-------------------------------------------------------------------------
-# Resolve the multibyte encoding name
+# Resolve the encoding name
#-------------------------------------------------------------------------
-if [ "$MULTIBYTE" ]
+if [ "$ENCODING" ]
then
- MULTIBYTEID=`$PGPATH/pg_encoding -b $MULTIBYTE`
+ ENCODINGID=`$PGPATH/pg_encoding -b $ENCODING`
if [ "$?" -ne 0 ]
then
(
echo "$CMDNAME: pg_encoding failed"
- echo
- echo "Perhaps you did not configure PostgreSQL for multibyte support or"
- echo "the program was not successfully installed."
+ echo "Make sure the program was installed correctly."
) 1>&2
exit 1
fi
- if [ -z "$MULTIBYTEID" ]
+ if [ -z "$ENCODINGID" ]
then
- echo "$CMDNAME: $MULTIBYTE is not a valid backend encoding name" 1>&2
+ echo "$CMDNAME: $ENCODING is not a valid backend encoding name" 1>&2
exit 1
fi
fi
(
echo
echo "initdb variables:"
- for var in PGDATA datadir PGPATH MULTIBYTE MULTIBYTEID \
+ for var in PGDATA datadir PGPATH ENCODING ENCODINGID \
POSTGRES_SUPERUSERNAME POSTGRES_BKI \
POSTGRES_DESCR POSTGRESQL_CONF_SAMPLE \
PG_HBA_SAMPLE PG_IDENT_SAMPLE ; do
cat "$POSTGRES_BKI" \
| sed -e "s/POSTGRES/$POSTGRES_SUPERUSERNAME/g" \
- -e "s/ENCODING/$MULTIBYTEID/g" \
+ -e "s/ENCODING/$ENCODINGID/g" \
|
(
LC_COLLATE=`pg_getlocale COLLATE`
"_MBCS" /Fp"$(INTDIR)\psql.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c \
/I ..\..\include /I ..\..\interfaces\libpq /D "HAVE_STRDUP"
-!IFDEF MULTIBYTE
-!IFNDEF MBFLAGS
-MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
-!ENDIF
-CPP_PROJ=$(MBFLAGS) $(CPP_PROJ)
-!ENDIF
-
CPP_OBJS=.\Release/
CPP_SBRS=.
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.24 2002/08/10 16:57:32 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.25 2002/09/03 21:45:43 petere Exp $
#
#-------------------------------------------------------------------------
echo " -O, --owner=OWNER Database user to own the new database"
echo " -D, --location=PATH Alternative place to store the database"
echo " -T, --template=TEMPLATE Template database to copy"
- echo " -E, --encoding=ENCODING Multibyte encoding for the database"
+ echo " -E, --encoding=ENCODING Encoding for the database"
echo " -h, --host=HOSTNAME Database server host"
echo " -p, --port=PORT Database server port"
echo " -U, --username=USERNAME Username to connect as"
# finds oids that are duplicated in the system tables.
#
-# no multibytes files
-FILES=`ls pg_*.h |grep -v '_mb.h'`
-
#
# The previous version did not use the -d option on uniq
# so check here that it is supported.
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_control.h,v 1.8 2002/06/20 20:29:44 momjian Exp $
+ * $Id: pg_control.h,v 1.9 2002/09/03 21:45:43 petere Exp $
*
*-------------------------------------------------------------------------
*/
/* flag indicating internal format of timestamp, interval, time */
uint32 enableIntTimes; /* int64 storage enabled? */
- /* active locales --- "C" if compiled without USE_LOCALE: */
+ /* active locales */
uint32 localeBuflen;
char lc_collate[LOCALE_NAME_BUFLEN];
char lc_ctype[LOCALE_NAME_BUFLEN];
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_database.h,v 1.26 2002/08/04 06:54:10 thomas Exp $
+ * $Id: pg_database.h,v 1.27 2002/09/03 21:45:43 petere Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
{
NameData datname; /* database name */
int4 datdba; /* sysid of owner */
- int4 encoding; /* multibyte encoding, if any */
+ int4 encoding; /* character encoding */
bool datistemplate; /* allowed as CREATE DATABASE template? */
bool datallowconn; /* new connections allowed? */
Oid datlastsysoid; /* highest OID to consider a system OID */
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_proc.h,v 1.268 2002/09/02 06:22:19 momjian Exp $
+ * $Id: pg_proc.h,v 1.269 2002/09/03 21:45:43 petere Exp $
*
* NOTES
* The script catalog/genbki.sh reads this file and generates .bki
DATA(insert OID = 2090 ( to_hex PGNSP PGUID 12 f f t f i 1 25 "20" to_hex64 - _null_ ));
DESCR("convert int64 number to hex");
-/* for multi-byte support */
+/* for character set encoding support */
/* return database encoding name */
DATA(insert OID = 1039 ( getdatabaseencoding PGNSP PGUID 12 f f t f s 0 19 "" getdatabaseencoding - _null_ ));
-/* $Id: pg_wchar.h,v 1.42 2002/08/14 02:45:10 ishii Exp $ */
+/* $Id: pg_wchar.h,v 1.43 2002/09/03 21:45:44 petere Exp $ */
#ifndef PG_WCHAR_H
#define PG_WCHAR_H
*/
#define IS_LCPRV1(c) ((unsigned char)(c) == 0x9a || (unsigned char)(c) == 0x9b)
/*
- * Is a leading byte for "official" multi byte encodings?
+ * Is a leading byte for "official" multibyte encodings?
*/
#define IS_LC2(c) ((unsigned char)(c) >= 0x90 && (unsigned char)(c) <= 0x99)
/*
- * Is a prefix byte for "private" multi byte encodings?
+ * Is a prefix byte for "private" multibyte encodings?
*/
#define IS_LCPRV2(c) ((unsigned char)(c) == 0x9c || (unsigned char)(c) == 0x9d)
#define LC_ARABIC_2_COLUMN 0xa8 /* Arabic 1-column (not supported) */
/*
- * Private multi byte encodings (0xf0-0xff)
+ * Private multibyte encodings (0xf0-0xff)
*/
#define LC_INDIAN_1_COLUMN 0xf0/* Indian charset for 1-column width
* glypps (not supported) */
typedef struct
{
- mb2wchar_with_len_converter mb2wchar_with_len; /* convert a multi-byte
+ mb2wchar_with_len_converter mb2wchar_with_len; /* convert a multibyte
* string to a wchar */
- mblen_converter mblen; /* returns the length of a multi-byte char */
+ mblen_converter mblen; /* returns the length of a multibyte char */
int maxmblen; /* max bytes for a char in this charset */
} pg_wchar_tbl;
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: builtins.h,v 1.197 2002/08/29 07:22:29 ishii Exp $
+ * $Id: builtins.h,v 1.198 2002/09/03 21:45:44 petere Exp $
*
*-------------------------------------------------------------------------
*/
extern Datum RI_FKey_setdefault_del(PG_FUNCTION_ARGS);
extern Datum RI_FKey_setdefault_upd(PG_FUNCTION_ARGS);
-/* multibyte support functions */
+/* encoding support functions */
extern Datum getdatabaseencoding(PG_FUNCTION_ARGS);
extern Datum database_character_set(PG_FUNCTION_ARGS);
extern Datum pg_client_encoding(PG_FUNCTION_ARGS);
* example.Unicode <url> <user> <password>
* where <url> must specify an existing database to which <user> and
* <password> give access and which has UNICODE as its encoding.
- * (To create a database with UNICODE encoding, you need to compile
- * postgres with "--enable-multibyte" and run createdb with the
- * flag "-E UNICODE".)
+ * (To create a database with UNICODE encoding, you need to run createdb
+ * with the flag "-E UNICODE".)
*
* This test only produces output on error.
*
#
# Copyright (c) 1994, Regents of the University of California
#
-# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.64 2002/07/27 20:10:05 petere Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v 1.65 2002/09/03 21:45:44 petere Exp $
#
#-------------------------------------------------------------------------
OBJS= fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o \
pqexpbuffer.o dllist.o md5.o pqsignal.o fe-secure.o \
+ wchar.o encnames.o \
$(filter inet_aton.o snprintf.o strerror.o, $(LIBOBJS))
-ifdef MULTIBYTE
-OBJS+= wchar.o encnames.o
-endif
-
# Add libraries that libpq depends (or might depend) on into the
# shared library link. (The order in which you list them here doesn't
inet_aton.c snprintf.c strerror.c: %.c : $(top_srcdir)/src/port/%.c
rm -f $@ && $(LN_S) $< .
-ifdef MULTIBYTE
-wchar.c : % : $(backend_src)/utils/mb/%
- rm -f $@ && $(LN_S) $< .
-encnames.c : % : $(backend_src)/utils/mb/%
+encnames.c wchar.c : % : $(backend_src)/utils/mb/%
rm -f $@ && $(LN_S) $< .
-endif
install: all installdirs install-lib
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: libpq-int.h,v 1.55 2002/08/18 03:47:08 tgl Exp $
+ * $Id: libpq-int.h,v 1.56 2002/09/03 21:45:44 petere Exp $
*
*-------------------------------------------------------------------------
*/
{
SETENV_STATE_OPTION_SEND, /* About to send an Environment Option */
SETENV_STATE_OPTION_WAIT, /* Waiting for above send to complete */
- /* these next two are only used in MULTIBYTE mode */
SETENV_STATE_ENCODINGS_SEND, /* About to send an "encodings" query */
SETENV_STATE_ENCODINGS_WAIT, /* Waiting for query to complete */
SETENV_STATE_IDLE
!MESSAGE Building the Win32 static library...
!MESSAGE
-!IF "$(CFG)" == ""
-CFG=Release
-!MESSAGE No configuration specified. Defaulting to Release.
-!MESSAGE
-!ELSE
-!MESSAGE Configuration "$(CFG)"
-!MESSAGE
-!ENDIF
-
-!IF "$(CFG)" != "Release" && "$(CFG)" != "MultibyteRelease"
-!MESSAGE Invalid configuration "$(CFG)" specified.
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f win32.mak CFG=[Release | MultibyteRelease ]
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "Release" (Win32 Release DLL)
-!MESSAGE "MultibyteRelease" (Win32 Release DLL with Multibyte support)
-!MESSAGE
-!ERROR An invalid configuration was specified.
-!ENDIF
!IFDEF DEBUG
OPT=/Od
NULL=nul
!ENDIF
-!IF "$(CFG)" == "MultibyteRelease"
-MULTIBYTE=1
-!ENDIF
-
CPP=cl.exe
RSC=rc.exe
-@erase "$(OUTDIR)\libpq.pch"
-@erase "$(OUTDIR)\libpqdll.exp"
-@erase "$(OUTDIR)\libpqdll.lib"
-!IFDEF MULTIBYTE
-@erase "$(INTDIR)\wchar.obj"
-@erase "$(INTDIR)\encnames.obj"
-!ENDIF
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
"WIN32" /D "_WINDOWS" /Fp"$(INTDIR)\libpq.pch" /YX\
/Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP"
-!IFDEF MULTIBYTE
-!IFNDEF MBFLAGS
-MBFLAGS="-DMULTIBYTE=$(MULTIBYTE)"
-!ENDIF
-CPP_PROJ = $(CPP_PROJ) $(MBFLAGS)
-!ENDIF
-
CPP_OBJS=.\Release/
CPP_SBRS=.
-
+
LIB32=link.exe -lib
LIB32_FLAGS=$(LOPT) /nologo /out:"$(OUTDIR)\libpq.lib"
LIB32_OBJS= \
"$(INTDIR)\fe-misc.obj" \
"$(INTDIR)\fe-print.obj" \
"$(INTDIR)\fe-secure.obj" \
- "$(INTDIR)\pqexpbuffer.obj"
-
-!IFDEF MULTIBYTE
-LIB32_OBJS = $(LIB32_OBJS) "$(INTDIR)\wchar.obj" "$(INTDIR)\encnames.obj"
-!ENDIF
+ "$(INTDIR)\pqexpbuffer.obj" \
+ "$(INTDIR)\wchar.obj" \
+ "$(INTDIR)\encnames.obj"
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\libpq.res"
$(CPP_PROJ) ..\..\backend\lib\dllist.c
<<
-
+
"$(OUTDIR)\md5.obj" : ..\..\backend\libpq\md5.c
$(CPP) @<<
$(CPP_PROJ) ..\..\backend\libpq\md5.c
<<
-
-!IFDEF MULTIBYTE
+
"$(INTDIR)\wchar.obj" : ..\..\backend\utils\mb\wchar.c
$(CPP) @<<
$(CPP_PROJ) /I "." ..\..\backend\utils\mb\wchar.c
<<
-!ENDIF
-!IFDEF MULTIBYTE
"$(INTDIR)\encnames.obj" : ..\..\backend\utils\mb\encnames.c
$(CPP) @<<
$(CPP_PROJ) /I "." ..\..\backend\utils\mb\encnames.c
<<
-!ENDIF
.c{$(CPP_OBJS)}.obj::
-# $Header: /cvsroot/pgsql/src/test/locale/Makefile,v 1.7 2001/01/19 19:15:33 petere Exp $
+# $Header: /cvsroot/pgsql/src/test/locale/Makefile,v 1.8 2002/09/03 21:45:44 petere Exp $
subdir = src/test/locale
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
-PROGS = test-pgsql-locale test-ctype
+PROGS = test-ctype
DIRS = de_DE.ISO8859-1 gr_GR.ISO8859-7 koi8-r koi8-to-win1251
all: $(PROGS)
-$Header: /cvsroot/pgsql/src/test/locale/README,v 1.3 2001/01/19 19:43:27 petere Exp $
+$Header: /cvsroot/pgsql/src/test/locale/README,v 1.4 2002/09/03 21:45:44 petere Exp $
This directory contains a set of tests for locales. I provided one C
program test-ctype.c to test CTYPE support in libc and the installed
gmake check-koi8-r
Currently, there are only tests for a few locales available. The script
-'runall' calls test-pgsql-locale to test whether locale support has been
-compiled into PostgreSQL, test-ctype to test libc and locale data,
-test-sort.pl (uncomment test-sort.py, if you have a Python interpreter
-installed), and does tests on PostgreSQL with the provided SQL script
-files.
+'runall' calls test-ctype to test libc and locale data, test-sort.pl
+(uncomment test-sort.py, if you have a Python interpreter installed), and
+does tests on PostgreSQL with the provided SQL script files.
To add locale tests one needs to create a directory $locale and create
a Makefile (and other files) similar to koi8-r/*. Actually, the simplest
PATH=..:$PATH
echo "Testing PostgreSQL compilation..."
-if ! test-pgsql-locale; then
- exit 1
-fi
LC_CTYPE=de_DE.ISO8859-1
LC_COLLATE=$LC_CTYPE
PATH=..:$PATH
echo "Testing PostgreSQL compilation..."
-if ! test-pgsql-locale; then
- exit 1
-fi
LC_CTYPE=gr_GR.ISO8859-7
LC_COLLATE=$LC_CTYPE
PATH=..:$PATH
echo "Testing PostgreSQL compilation..."
-if ! test-pgsql-locale; then
- exit 1
-fi
LC_CTYPE=ru_RU.KOI8-R
LC_COLLATE=$LC_CTYPE
PATH=..:$PATH
echo "Testing PostgreSQL compilation..."
-if ! test-pgsql-locale; then
- exit 1
-fi
LC_CTYPE=ru_RU.KOI8-R
LC_COLLATE=$LC_CTYPE
+++ /dev/null
-
-#include "postgres.h"
-
-int
-main()
-{
-#ifdef USE_LOCALE
- printf("PostgreSQL compiled with locale support\n");
- return 0;
-#else
- printf("PostgreSQL compiled without locale support\n");
- return 1;
-#endif
-}
-README for MB(multi-byte) regression test
+README for multibyte regression test
1998/7/22
Tatsuo Ishii
-This directory contains a set of tests for MB(multi-byte) supporting
+This directory contains a set of tests for multibyte supporting
extentions for PostgreSQL. To run the test, simply type:
% mbregress.sh
-
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.38 2002/07/02 05:43:34 momjian Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/GNUmakefile,v 1.39 2002/09/03 21:45:44 petere Exp $
#
#-------------------------------------------------------------------------
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
+# default encoding
+MULTIBYTE = SQL_ASCII
+
##
## Prepare for tests
-# $Header: /cvsroot/pgsql/src/win32.mak,v 1.7 2002/08/22 00:15:08 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/win32.mak,v 1.8 2002/09/03 21:45:41 petere Exp $
# Makefile for Microsoft Visual C++ 5.0 (or compat)
# Top-file makefile for Win32 parts of postgresql.
NULL=nul
!ENDIF
-!IFDEF MULTIBYTE
-MAKEMACRO = "MULTIBYTE=$(MULTIBYTE)"
-!ENDIF
-
ALL:
cd include
if not exist pg_config.h copy pg_config.h.win32 pg_config.h