Fix assertion in collation version lookup.
authorThomas Munro <[email protected]>
Sun, 8 Nov 2020 07:43:45 +0000 (20:43 +1300)
committerThomas Munro <[email protected]>
Sun, 8 Nov 2020 07:45:29 +0000 (20:45 +1300)
Commit 257836a7 included an assertion that a version lookup routine is
not trying to look up "C" or "POSIX", but that case is reachable with
the user-facing SQL function pg_collation_actual_version().  Remove the
assertion.

src/backend/utils/adt/pg_locale.c

index d5a0169420a38953ea8addc1ad6ee51265ecefd3..1dfe343b79ca17aecccdcba5ccb74fbdd1191d84 100644 (file)
@@ -1731,15 +1731,14 @@ get_collation_actual_version(char collprovider, const char *collcollate)
 
 /*
  * Get provider-specific collation version string for a given collation OID.
- * Return NULL if the provider doesn't support versions.
+ * Return NULL if the provider doesn't support versions, or the collation is
+ * unversioned (for example "C").
  */
 char *
 get_collation_version_for_oid(Oid oid)
 {
    HeapTuple   tp;
-   char       *version = NULL;
-
-   Assert(oid != C_COLLATION_OID && oid != POSIX_COLLATION_OID);
+   char       *version;
 
    if (oid == DEFAULT_COLLATION_OID)
    {