diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 1e71a62900..9c7b66c05c 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -2031,7 +2031,8 @@ pg_strcoll(const char *arg1, const char *arg2, pg_locale_t locale) #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strcoll", locale->provider); return result; } @@ -2067,7 +2068,8 @@ pg_strncoll(const char *arg1, size_t len1, const char *arg2, size_t len2, #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strncoll", locale->provider); return result; } @@ -2086,7 +2088,8 @@ pg_strxfrm_libc(char *dest, const char *src, size_t destsize, return strxfrm(dest, src, destsize); #else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strxfrm_libc", locale->provider); return 0; /* keep compiler quiet */ #endif } @@ -2282,7 +2285,8 @@ pg_strxfrm_enabled(pg_locale_t locale) return true; else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strxfrm_enabled", locale->provider); return false; /* keep compiler quiet */ } @@ -2314,7 +2318,8 @@ pg_strxfrm(char *dest, const char *src, size_t destsize, pg_locale_t locale) #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strxfrm", locale->provider); return result; } @@ -2351,7 +2356,8 @@ pg_strnxfrm(char *dest, size_t destsize, const char *src, size_t srclen, #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strnxfrm", locale->provider); return result; } @@ -2369,7 +2375,8 @@ pg_strxfrm_prefix_enabled(pg_locale_t locale) return true; else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strxfrm_prefix_enabled", locale->provider); return false; /* keep compiler quiet */ } @@ -2393,15 +2400,21 @@ pg_strxfrm_prefix(char *dest, const char *src, size_t destsize, { size_t result = 0; /* keep compiler quiet */ + /* + * if locale is NULL, then + * the provider is known to be COLLPROVIDER_LIBC + */ if (!locale) - elog(ERROR, "unsupported collprovider"); + elog(ERROR, "collprovider '%c' does not support (%s)", + COLLPROVIDER_LIBC, "pg_strxfrm_prefix"); #ifdef USE_ICU else if (locale->provider == COLLPROVIDER_ICU) result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale); #endif else - elog(ERROR, "could not use collprovider %c: no support for %s", - locale->provider, "pg_strxfrm_prefix"); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strxfrm_prefix", locale->provider); + return result; } @@ -2428,15 +2441,20 @@ pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src, { size_t result = 0; /* keep compiler quiet */ + /* + * if locale is NULL, then + * the provider is known to be COLLPROVIDER_LIBC + */ if (!locale) - elog(ERROR, "unsupported collprovider"); + elog(ERROR, "collprovider '%c' does not support (%s)", + COLLPROVIDER_LIBC, "pg_strnxfrm_prefix"); #ifdef USE_ICU else if (locale->provider == COLLPROVIDER_ICU) result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale); #endif else - elog(ERROR, "could not use collprovider %c: no support for %s", - locale->provider, "pg_strnxfrm_prefix"); + elog(ERROR, "unsupported collprovider (%s): %c", + "pg_strnxfrm_prefix", locale->provider); return result; }