aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/oracle_compat.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-05-07 15:18:17 +0000
committerBruce Momjian <bruce@momjian.us>2005-05-07 15:18:17 +0000
commit3adba41a3c31132c7864a07c8cb673826da7fd64 (patch)
tree45e45c113eb8dcb9cfd4d883ba7fad2e56f026de /src/backend/utils/adt/oracle_compat.c
parentd733f110cd68d82d11553a9615f2437d0f19535c (diff)
downloadpostgresql-3adba41a3c31132c7864a07c8cb673826da7fd64.tar.gz
postgresql-3adba41a3c31132c7864a07c8cb673826da7fd64.zip
Add comment on C locale test for upper/lower/initcap().
Diffstat (limited to 'src/backend/utils/adt/oracle_compat.c')
-rw-r--r--src/backend/utils/adt/oracle_compat.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/backend/utils/adt/oracle_compat.c b/src/backend/utils/adt/oracle_compat.c
index ee59ae60eef..d0d1fc5fecf 100644
--- a/src/backend/utils/adt/oracle_compat.c
+++ b/src/backend/utils/adt/oracle_compat.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/oracle_compat.c,v 1.59 2005/03/16 01:49:10 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/oracle_compat.c,v 1.60 2005/05/07 15:18:17 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -167,7 +167,11 @@ Datum
lower(PG_FUNCTION_ARGS)
{
#ifdef USE_WIDE_UPPER_LOWER
- /* use wide char code only when max encoding length > 1 and ctype != C */
+ /*
+ * Use wide char code only when max encoding length > 1 and ctype != C.
+ * Some operating systems fail with multi-byte encodings and a C locale.
+ * Also, for a C locale there is no need to process as multibyte.
+ */
if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c())
{
text *string = PG_GETARG_TEXT_P(0);
@@ -229,7 +233,11 @@ Datum
upper(PG_FUNCTION_ARGS)
{
#ifdef USE_WIDE_UPPER_LOWER
- /* use wide char code only when max encoding length > 1 and ctype != C */
+ /*
+ * Use wide char code only when max encoding length > 1 and ctype != C.
+ * Some operating systems fail with multi-byte encodings and a C locale.
+ * Also, for a C locale there is no need to process as multibyte.
+ */
if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c())
{
text *string = PG_GETARG_TEXT_P(0);
@@ -294,7 +302,11 @@ Datum
initcap(PG_FUNCTION_ARGS)
{
#ifdef USE_WIDE_UPPER_LOWER
- /* use wide char code only when max encoding length > 1 and ctype != C */
+ /*
+ * Use wide char code only when max encoding length > 1 and ctype != C.
+ * Some operating systems fail with multi-byte encodings and a C locale.
+ * Also, for a C locale there is no need to process as multibyte.
+ */
if (pg_database_encoding_max_length() > 1 && !lc_ctype_is_c())
{
text *string = PG_GETARG_TEXT_P(0);