1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-30 21:42:05 +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

@ -1,7 +1,7 @@
/*
* Edmund Mergl <E.Mergl@bawue.de>
*
* $Id: oracle_compat.c,v 1.12 1998/02/26 04:37:19 momjian Exp $
* $Id: oracle_compat.c,v 1.13 1998/04/27 17:08:19 scrappy Exp $
*
*/
@ -55,7 +55,7 @@ lower(text *string)
while (m--)
{
*ptr_ret++ = tolower(*ptr++);
*ptr_ret++ = tolower((unsigned char)*ptr++);
}
return ret;
@ -95,7 +95,7 @@ upper(text *string)
while (m--)
{
*ptr_ret++ = toupper(*ptr++);
*ptr_ret++ = toupper((unsigned char)*ptr++);
}
return ret;
@ -135,18 +135,18 @@ initcap(text *string)
ptr = VARDATA(string);
ptr_ret = VARDATA(ret);
*ptr_ret++ = toupper(*ptr++);
*ptr_ret++ = toupper((unsigned char)*ptr++);
--m;
while (m--)
{
if (*(ptr_ret - 1) == ' ' || *(ptr_ret - 1) == ' ')
{
*ptr_ret++ = toupper(*ptr++);
*ptr_ret++ = toupper((unsigned char)*ptr++);
}
else
{
*ptr_ret++ = tolower(*ptr++);
*ptr_ret++ = tolower((unsigned char)*ptr++);
}
}