1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-05 07:21:24 +03:00
Hi, here are patches I promised (against 6.3.2):

* character_length(), position(), substring() are now aware of
          multi-byte characters
* add octet_length()
* add --with-mb option to configure
* new regression tests for EUC_KR
  (contributed by "Soonmyung. Hong" <hong@lunaris.hanmesoft.co.kr>)
* add some test cases to the EUC_JP regression test
* fix problem in regress/regress.sh in case of System V
* fix toupper(), tolower() to handle 8bit chars

note that:

o  patches for both configure.in and configure are
included. maybe the one for configure is not necessary.

o pg_proc.h was modified to add octet_length(). I used OIDs
(1374-1379) for that. Please let me know if these numbers are not
appropriate.
This commit is contained in:
Marc G. Fournier
1998-04-27 17:10:50 +00:00
parent 2cbcf46102
commit f554af0a9f
15 changed files with 749 additions and 372 deletions

View File

@ -53,3 +53,35 @@ QUERY: select * from
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>|ʬB10<31><30> |
(2 rows)
QUERY: select *,character_length(<28>Ѹ<EFBFBD>) from <20>׻<EFBFBD><D7BB><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
<EFBFBD>Ѹ<EFBFBD><><EFBFBD><E0A5B3><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>1a<31><61><EFBFBD><EFBFBD>|length
--------------------------+----------+----------+------
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ쥤 |<7C><>A01<30><31> | | 12
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>|ʬB10<31><30> | | 13
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޡ<EFBFBD> |<7C><>Z01<30><31> | | 12
(3 rows)
QUERY: select *,octet_length(<28>Ѹ<EFBFBD>) from <20>׻<EFBFBD><D7BB><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
<EFBFBD>Ѹ<EFBFBD><><EFBFBD><E0A5B3><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>1a<31><61><EFBFBD><EFBFBD>|octet_length
--------------------------+----------+----------+------------
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ쥤 |<7C><>A01<30><31> | | 24
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>|ʬB10<31><30> | | 26
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޡ<EFBFBD> |<7C><>Z01<30><31> | | 24
(3 rows)
QUERY: select *,position('<27><>' in <20>Ѹ<EFBFBD>) from <20>׻<EFBFBD><D7BB><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
<EFBFBD>Ѹ<EFBFBD><><EFBFBD><E0A5B3><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>1a<31><61><EFBFBD><EFBFBD>|strpos
--------------------------+----------+----------+------
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ쥤 |<7C><>A01<30><31> | | 7
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>|ʬB10<31><30> | | 0
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޡ<EFBFBD> |<7C><>Z01<30><31> | | 0
(3 rows)
QUERY: select *,substring(<28>Ѹ<EFBFBD> from 10 for 4) from <20>׻<EFBFBD><D7BB><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
<EFBFBD>Ѹ<EFBFBD><><EFBFBD><E0A5B3><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD>1a<31><61><EFBFBD><EFBFBD>|substr
--------------------------+----------+----------+--------
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ쥤 |<7C><>A01<30><31> | |<7C>ץ쥤
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>|ʬB10<31><30> | |<7C><><EFBFBD>å<EFBFBD><C3A5><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޡ<EFBFBD> |<7C><>Z01<30><31> | |<7C><><EFBFBD>ޡ<EFBFBD>
(3 rows)

View File

@ -1,5 +1,5 @@
#!/bin/sh
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.18 1998/03/15 07:39:04 scrappy Exp $
# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.19 1998/04/27 17:10:17 scrappy Exp $
#
if echo '\c' | grep -s c >/dev/null 2>&1
then
@ -43,7 +43,7 @@ fi
echo "=============== running regression queries... ================="
echo "" > regression.diffs
if [ a$MB != a ];then
mbtests=`echo $MB|tr A-Z a-z`
mbtests=`echo $MB|tr "[A-Z]" "[a-z]"`
else
mbtests=""
fi

View File

@ -13,3 +13,7 @@ select * from
select * from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD> where ʬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> like '_Z%';
select * from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD> where <EFBFBD>Ѹ<EFBFBD> ~ '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD>[<5B>ǥ<EFBFBD>]';
select * from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD> where <EFBFBD>Ѹ<EFBFBD> ~* '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԥ塼<EFBFBD><EFBFBD>[<5B>ǥ<EFBFBD>]';
select *,character_length(<EFBFBD>Ѹ<EFBFBD>) from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
select *,octet_length(<EFBFBD>Ѹ<EFBFBD>) from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
select *,position('<EFBFBD><EFBFBD>' in <EFBFBD>Ѹ<EFBFBD>) from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD>;
select *,substring(<EFBFBD>Ѹ<EFBFBD> from 10 for 4) from <EFBFBD>׻<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD>;