mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-18 18:44:06 +08:00
Remove all traces of multibyte and locale options. Clean up comments
referring to "multibyte" where it really means character encoding.
This commit is contained in:
parent
86f27321e2
commit
77f7763b55
12
configure
vendored
12
configure
vendored
@ -1632,17 +1632,6 @@ echo "$as_me:$LINENO: result: $enable_recode" >&5
|
||||
echo "${ECHO_T}$enable_recode" >&6
|
||||
|
||||
|
||||
#
|
||||
# Multibyte support
|
||||
#
|
||||
MULTIBYTE=SQL_ASCII
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define MULTIBYTE 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
#
|
||||
# NLS
|
||||
#
|
||||
@ -16275,7 +16264,6 @@ s,@host_vendor@,$host_vendor,;t t
|
||||
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
|
||||
|
@ -1,5 +1,5 @@
|
||||
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
|
||||
@ -161,13 +161,6 @@ PGAC_ARG_BOOL(enable, recode, no, [ --enable-recode enable character se
|
||||
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
|
||||
#
|
||||
|
@ -2,9 +2,7 @@
|
||||
#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
|
||||
|
@ -104,19 +104,15 @@ initmorph(void)
|
||||
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++)
|
||||
@ -126,7 +122,6 @@ initmorph(void)
|
||||
break;
|
||||
}
|
||||
PGLC_free_categories(&lc);
|
||||
#endif
|
||||
|
||||
for (i = 1; i < lengthof(mapdict); i++)
|
||||
{
|
||||
@ -139,13 +134,9 @@ initmorph(void)
|
||||
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;
|
||||
|
@ -1,5 +1,5 @@
|
||||
# -*-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,
|
||||
@ -127,7 +127,6 @@ with_perl = @with_perl@
|
||||
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@
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -591,7 +591,7 @@ get_db_info(const char *name, Oid *dbIdP, int4 *ownerIdP,
|
||||
/* sysid of the owner */
|
||||
if (ownerIdP)
|
||||
*ownerIdP = dbform->datdba;
|
||||
/* multibyte encoding */
|
||||
/* character encoding */
|
||||
if (encodingP)
|
||||
*encodingP = dbform->encoding;
|
||||
/* allowed as template? */
|
||||
|
@ -29,7 +29,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -556,9 +556,9 @@ pq_getbytes(char *s, size_t len)
|
||||
* 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
|
||||
|
@ -8,7 +8,7 @@
|
||||
* 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.
|
||||
@ -16,7 +16,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -27,20 +27,20 @@
|
||||
* 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.
|
||||
*/
|
||||
@ -79,7 +79,7 @@ pq_sendbytes(StringInfo buf, const char *data, int datalen)
|
||||
}
|
||||
|
||||
/* --------------------------------
|
||||
* 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.
|
||||
@ -106,7 +106,7 @@ pq_sendcountedtext(StringInfo buf, const char *str, int slen)
|
||||
}
|
||||
|
||||
/* --------------------------------
|
||||
* 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.
|
||||
@ -178,10 +178,10 @@ pq_endmessage(StringInfo buf)
|
||||
}
|
||||
|
||||
/* --------------------------------
|
||||
* 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
|
||||
|
@ -4,7 +4,7 @@
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -14,13 +14,8 @@ include $(top_builddir)/src/Makefile.global
|
||||
|
||||
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
|
||||
|
||||
@ -32,12 +27,5 @@ regexec.o: regexec.c engine.c
|
||||
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
|
||||
|
@ -1,17 +1,14 @@
|
||||
#
|
||||
# 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)
|
||||
|
||||
|
||||
@ -33,10 +30,3 @@ fmgroids.h fmgrtab.c: Gen_fmgrtab.sh $(top_srcdir)/src/include/catalog/pg_proc.h
|
||||
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
|
||||
|
@ -9,7 +9,7 @@
|
||||
* 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"
|
||||
@ -61,7 +61,7 @@ CashGetDatum(Cash value)
|
||||
* 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
|
||||
|
@ -11,7 +11,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -93,7 +93,7 @@ iwchareq(unsigned char *p1, unsigned char *p2)
|
||||
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);
|
||||
|
@ -3,8 +3,9 @@
|
||||
* 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
|
||||
@ -18,7 +19,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -64,13 +64,9 @@ quote_literal(PG_FUNCTION_ARGS)
|
||||
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)
|
||||
{
|
||||
@ -106,7 +102,9 @@ 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)
|
||||
{
|
||||
@ -147,7 +145,9 @@ 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)
|
||||
{
|
||||
|
@ -15,7 +15,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3367,7 +3367,7 @@ make_greater_string(const Const *str_const)
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -350,8 +350,8 @@ name_bpchar(PG_FUNCTION_ARGS)
|
||||
* 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
|
||||
@ -450,7 +450,7 @@ varchar(PG_FUNCTION_ARGS)
|
||||
{
|
||||
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;
|
||||
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -412,9 +412,9 @@ textcat(PG_FUNCTION_ARGS)
|
||||
* 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.
|
||||
@ -624,9 +624,6 @@ text_substring(Datum str, int32 start, int32 length, bool length_not_specified)
|
||||
* 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)
|
||||
|
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* 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 $
|
||||
*
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
@ -69,7 +69,7 @@ static bool ThereIsAtLeastOneUser(void);
|
||||
* 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
|
||||
@ -124,9 +124,8 @@ ReverifyMyDatabase(const char *name)
|
||||
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 */
|
||||
|
@ -2,7 +2,7 @@ common.c: public functions for both the backend and the frontend.
|
||||
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
|
||||
@ -12,4 +12,4 @@ iso.c: a tool to generate KOI8 <--> ISO8859-5 conversion table
|
||||
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()
|
||||
utftest.c: test driver for utf2wchar()
|
||||
|
@ -2,7 +2,7 @@
|
||||
* 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"
|
||||
@ -44,7 +44,7 @@ pg_encname pg_encname_tbl[] =
|
||||
}, /* 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
|
||||
|
@ -3,7 +3,7 @@
|
||||
* 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"
|
||||
@ -347,28 +347,28 @@ perform_default_encoding_conversion(unsigned char *src, int len, bool is_client_
|
||||
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)
|
||||
{
|
||||
@ -386,7 +386,7 @@ 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)
|
||||
@ -405,10 +405,10 @@ 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)
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* 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
|
||||
*
|
||||
@ -580,7 +580,7 @@ pg_mic_mblen(const unsigned char *mbstr)
|
||||
}
|
||||
|
||||
/*
|
||||
* 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)
|
||||
@ -638,7 +638,7 @@ pg_verifymbstr(const unsigned char *mbstr, int len)
|
||||
|
||||
l = pg_mblen(mbstr);
|
||||
|
||||
/* multi-byte letter? */
|
||||
/* multibyte letter? */
|
||||
if (l > 1)
|
||||
{
|
||||
for (i = 1; i < l; i++)
|
||||
@ -646,7 +646,7 @@ pg_verifymbstr(const unsigned char *mbstr, int len)
|
||||
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))
|
||||
|
@ -5,7 +5,7 @@
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -14,11 +14,8 @@ top_builddir = ../..
|
||||
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
|
||||
|
@ -5,7 +5,7 @@
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -16,8 +16,7 @@ include $(top_builddir)/src/Makefile.global
|
||||
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' \
|
||||
|
@ -27,7 +27,7 @@
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -80,8 +80,6 @@ bindir='@bindir@'
|
||||
# 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
|
||||
@ -190,7 +188,7 @@ fi
|
||||
# COMMAND LINE OPTIONS
|
||||
|
||||
# 0 is the default (non-)encoding
|
||||
MULTIBYTEID=0
|
||||
ENCODINGID=0
|
||||
|
||||
# Set defaults:
|
||||
debug=
|
||||
@ -263,13 +261,13 @@ do
|
||||
# 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)
|
||||
@ -342,9 +340,7 @@ if [ "$usage" ]; then
|
||||
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"
|
||||
@ -363,25 +359,23 @@ if [ "$usage" ]; then
|
||||
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
|
||||
@ -418,7 +412,7 @@ then
|
||||
(
|
||||
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
|
||||
@ -569,7 +563,7 @@ echo "$short_version" > "$PGDATA/PG_VERSION" || exit_nicely
|
||||
|
||||
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`
|
||||
|
@ -43,13 +43,6 @@ CPP_PROJ=/nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D\
|
||||
"_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=.
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
#
|
||||
#
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -140,7 +140,7 @@ if [ "$usage" ]; then
|
||||
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"
|
||||
|
@ -5,9 +5,6 @@
|
||||
# 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.
|
||||
|
@ -8,7 +8,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -113,7 +113,7 @@ typedef struct ControlFileData
|
||||
/* 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];
|
||||
|
@ -8,7 +8,7 @@
|
||||
* 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
|
||||
@ -35,7 +35,7 @@ CATALOG(pg_database) BOOTSTRAP BKI_SHARED_RELATION
|
||||
{
|
||||
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 */
|
||||
|
@ -7,7 +7,7 @@
|
||||
* 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
|
||||
@ -2137,7 +2137,7 @@ DESCR("convert int32 number to hex");
|
||||
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_ ));
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $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
|
||||
@ -38,11 +38,11 @@ typedef unsigned int pg_wchar;
|
||||
*/
|
||||
#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)
|
||||
|
||||
@ -118,7 +118,7 @@ typedef unsigned int pg_wchar;
|
||||
#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) */
|
||||
@ -250,9 +250,9 @@ typedef int (*mblen_converter) (const unsigned char *mbstr);
|
||||
|
||||
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;
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -661,7 +661,7 @@ extern Datum RI_FKey_setnull_upd(PG_FUNCTION_ARGS);
|
||||
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);
|
||||
|
@ -11,9 +11,8 @@ import java.util.*;
|
||||
* 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.
|
||||
*
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -22,12 +22,9 @@ override CPPFLAGS := -I$(srcdir) $(CPPFLAGS) -DFRONTEND -DSYSCONFDIR='"$(sysconf
|
||||
|
||||
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
|
||||
@ -57,12 +54,8 @@ md5.c: $(backend_src)/libpq/md5.c
|
||||
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/%
|
||||
encnames.c wchar.c : % : $(backend_src)/utils/mb/%
|
||||
rm -f $@ && $(LN_S) $< .
|
||||
encnames.c : % : $(backend_src)/utils/mb/%
|
||||
rm -f $@ && $(LN_S) $< .
|
||||
endif
|
||||
|
||||
|
||||
install: all installdirs install-lib
|
||||
|
@ -12,7 +12,7 @@
|
||||
* 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 $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -180,7 +180,6 @@ typedef enum
|
||||
{
|
||||
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
|
||||
|
@ -6,29 +6,6 @@
|
||||
|
||||
!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
|
||||
@ -46,10 +23,6 @@ NULL=
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "MultibyteRelease"
|
||||
MULTIBYTE=1
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
@ -82,10 +55,8 @@ CLEAN :
|
||||
-@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)"
|
||||
@ -94,16 +65,9 @@ CPP_PROJ=/nologo /MD /W3 /GX $(OPT) /I "..\..\include" /D "FRONTEND" $(DEBUGDEF)
|
||||
"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= \
|
||||
@ -117,11 +81,9 @@ 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"
|
||||
|
||||
@ -156,27 +118,23 @@ LINK32_OBJS= \
|
||||
$(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::
|
||||
|
@ -1,11 +1,11 @@
|
||||
# $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)
|
||||
|
@ -1,4 +1,4 @@
|
||||
$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
|
||||
@ -11,11 +11,9 @@ for example
|
||||
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
|
||||
|
@ -3,9 +3,6 @@
|
||||
PATH=..:$PATH
|
||||
|
||||
echo "Testing PostgreSQL compilation..."
|
||||
if ! test-pgsql-locale; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LC_CTYPE=de_DE.ISO8859-1
|
||||
LC_COLLATE=$LC_CTYPE
|
||||
|
@ -3,9 +3,6 @@
|
||||
PATH=..:$PATH
|
||||
|
||||
echo "Testing PostgreSQL compilation..."
|
||||
if ! test-pgsql-locale; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LC_CTYPE=gr_GR.ISO8859-7
|
||||
LC_COLLATE=$LC_CTYPE
|
||||
|
@ -3,9 +3,6 @@
|
||||
PATH=..:$PATH
|
||||
|
||||
echo "Testing PostgreSQL compilation..."
|
||||
if ! test-pgsql-locale; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LC_CTYPE=ru_RU.KOI8-R
|
||||
LC_COLLATE=$LC_CTYPE
|
||||
|
@ -3,9 +3,6 @@
|
||||
PATH=..:$PATH
|
||||
|
||||
echo "Testing PostgreSQL compilation..."
|
||||
if ! test-pgsql-locale; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LC_CTYPE=ru_RU.KOI8-R
|
||||
LC_COLLATE=$LC_CTYPE
|
||||
|
@ -1,14 +0,0 @@
|
||||
|
||||
#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
|
||||
}
|
@ -1,9 +1,8 @@
|
||||
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
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#
|
||||
#
|
||||
# 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 $
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
|
||||
@ -22,6 +22,9 @@ override CFLAGS += $(CFLAGS_SL)
|
||||
|
||||
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)
|
||||
|
||||
# default encoding
|
||||
MULTIBYTE = SQL_ASCII
|
||||
|
||||
|
||||
##
|
||||
## Prepare for tests
|
||||
|
@ -1,4 +1,4 @@
|
||||
# $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.
|
||||
@ -10,10 +10,6 @@ NULL=
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user