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