summaryrefslogtreecommitdiff
path: root/src/backend/tsearch/ts_locale.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/tsearch/ts_locale.c')
-rw-r--r--src/backend/tsearch/ts_locale.c89
1 files changed, 0 insertions, 89 deletions
diff --git a/src/backend/tsearch/ts_locale.c b/src/backend/tsearch/ts_locale.c
index a61fd36022e..b2aefa31c26 100644
--- a/src/backend/tsearch/ts_locale.c
+++ b/src/backend/tsearch/ts_locale.c
@@ -197,92 +197,3 @@ tsearch_readline_callback(void *arg)
stp->lineno,
stp->filename);
}
-
-
-/*
- * lowerstr --- fold null-terminated string to lower case
- *
- * Returned string is palloc'd
- */
-char *
-lowerstr(const char *str)
-{
- return lowerstr_with_len(str, strlen(str));
-}
-
-/*
- * lowerstr_with_len --- fold string to lower case
- *
- * Input string need not be null-terminated.
- *
- * Returned string is palloc'd
- */
-char *
-lowerstr_with_len(const char *str, int len)
-{
- char *out;
- pg_locale_t mylocale = 0; /* TODO */
-
- if (len == 0)
- return pstrdup("");
-
- /*
- * 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. From
- * backend/utils/adt/oracle_compat.c Teodor
- */
- if (pg_database_encoding_max_length() > 1 && !database_ctype_is_c)
- {
- wchar_t *wstr,
- *wptr;
- int wlen;
-
- /*
- * alloc number of wchar_t for worst case, len contains number of
- * bytes >= number of characters and alloc 1 wchar_t for 0, because
- * wchar2char wants zero-terminated string
- */
- wptr = wstr = (wchar_t *) palloc(sizeof(wchar_t) * (len + 1));
-
- wlen = char2wchar(wstr, len + 1, str, len, mylocale);
- Assert(wlen <= len);
-
- while (*wptr)
- {
- *wptr = towlower((wint_t) *wptr);
- wptr++;
- }
-
- /*
- * Alloc result string for worst case + '\0'
- */
- len = pg_database_encoding_max_length() * wlen + 1;
- out = (char *) palloc(len);
-
- wlen = wchar2char(out, wstr, len, mylocale);
-
- pfree(wstr);
-
- if (wlen < 0)
- ereport(ERROR,
- (errcode(ERRCODE_CHARACTER_NOT_IN_REPERTOIRE),
- errmsg("conversion from wchar_t to server encoding failed: %m")));
- Assert(wlen < len);
- }
- else
- {
- const char *ptr = str;
- char *outptr;
-
- outptr = out = (char *) palloc(sizeof(char) * (len + 1));
- while ((ptr - str) < len && *ptr)
- {
- *outptr++ = tolower(TOUCHAR(ptr));
- ptr++;
- }
- *outptr = '\0';
- }
-
- return out;
-}