aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pg_locale.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-03-22 16:55:32 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-03-22 16:55:32 -0400
commit6e197cb2e537880f36828a6c55d0f6df5bf7daa8 (patch)
tree72cfdd5c6fbba12577a1c2df45c6ddf18c221905 /src/backend/utils/adt/pg_locale.c
parent37d6d07dda28a5dffcad6ff195ab2c83aaebcc9e (diff)
downloadpostgresql-6e197cb2e537880f36828a6c55d0f6df5bf7daa8.tar.gz
postgresql-6e197cb2e537880f36828a6c55d0f6df5bf7daa8.zip
Improve reporting of run-time-detected indeterminate-collation errors.
pg_newlocale_from_collation does not have enough context to give an error message that's even a little bit useful, so move the responsibility for complaining up to its callers. Also, reword ERRCODE_INDETERMINATE_COLLATION error messages in a less jargony, more message-style-guide-compliant fashion.
Diffstat (limited to 'src/backend/utils/adt/pg_locale.c')
-rw-r--r--src/backend/utils/adt/pg_locale.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c
index 15d347c4f89..163856d5b18 100644
--- a/src/backend/utils/adt/pg_locale.c
+++ b/src/backend/utils/adt/pg_locale.c
@@ -932,21 +932,13 @@ pg_newlocale_from_collation(Oid collid)
{
collation_cache_entry *cache_entry;
+ /* Callers must pass a valid OID */
+ Assert(OidIsValid(collid));
+
/* Return 0 for "default" collation, just in case caller forgets */
if (collid == DEFAULT_COLLATION_OID)
return (pg_locale_t) 0;
- /*
- * This is where we'll fail if a collation-aware function is invoked
- * and no collation OID is passed. This typically means that the
- * parser could not resolve a conflict of implicit collations, so
- * report it that way.
- */
- if (!OidIsValid(collid))
- ereport(ERROR,
- (errcode(ERRCODE_INDETERMINATE_COLLATION),
- errmsg("locale operation to be invoked, but no collation was derived")));
-
cache_entry = lookup_collation_cache(collid, false);
if (cache_entry->locale == 0)