Add comment on C locale test for upper/lower/initcap().
authorBruce Momjian <bruce@momjian.us>
Sat, 7 May 2005 15:18:17 +0000 (15:18 +0000)
committerBruce Momjian <bruce@momjian.us>
Sat, 7 May 2005 15:18:17 +0000 (15:18 +0000)
src/backend/utils/adt/oracle_compat.c

index 494114435ab72e567725d48331b49b9e754198c3..437f989fc4926b11c8d89cb2b6f51fe1492ec5a7 100644 (file)
@@ -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);