On 2024-Oct-15, Peter Eisentraut wrote:

> @@ -253,8 +241,9 @@ pg_set_regex_collation(Oid collation)
>                * catalog access is available, so we can't call
>                * pg_newlocale_from_collation().
>                */
> +             static struct pg_locale_struct dummy_locale = {.ctype_is_c = 
> true};
> +
> +             locale = &dummy_locale;
>       }
>       else
>       {
> @@ -264,121 +253,80 @@ pg_set_regex_collation(Oid collation)
>                       ereport(ERROR,
>                                       (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
>                                        errmsg("nondeterministic collations 
> are not supported for regular expressions")));
> [...]
>       }
>  
>       pg_regex_locale = locale;
>  }

Hmm, is it valid to make pg_regex_locale point to a function-local
static here?  The lifetime of this static is not clear to me, and I
think this pattern works with at least some compilers, but I remember
comments on previous patch review threads that this pattern isn't
kosher.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/


Reply via email to