On Fri, 23 Apr 2004, Shachar Shemesh wrote:

> Stephan Szabo wrote:
>
> >I've tried just changing the parser to unconditionally casefold to upper.
> >First thing that happens is that initdb breaks. In addition, you have
> >potential issues with comparisons against the catalog's versions of
> >standard functions as such if you allow the case folding to be changed
> >after the catalogs are setup.
> >
> >
> That's not the migration path I was thinking of.
>
> What I was thinking of was:
> 1. Have a setting, probably per-session. Per database works too.
> 2. Aside from the folder upper and folder lower, have a third option.
> This is "fold upper, if fails, fold lower. If succeeds, issue a
> warning". This should allow programs that rely on the folding (such as
> initdb) to be debugged during the transition period.

If you can do this in a clean fashion without tromping all around the
code, that'd be reasonable, however, istm that you'd need to either
pre-fold both directions from the given identifier string and pass an
extra copy around or pass the original identifier and its quoted status
and fold on use.  I think either of these are likely to be very intrusive
for what essentially amounts to a transitional feature.

In addition, I'm not sure that this would always work in any case, since
some of those usages may be quoted identifiers that were once generated
from a case-folded string (for example, looking up a name in the catalogs
and quoting it).


---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to