public inbox for [email protected]  
help / color / mirror / Atom feed
From: Stephan Szabo <[email protected]>
To: Shachar Shemesh <[email protected]>
Cc: Robert Treat <[email protected]>
Cc: Dennis Bjorklund <[email protected]>
Cc: Bruce Momjian <[email protected]>
Cc: PostgreSQL-development <[email protected]>
Cc: PostgreSQL advocacy <[email protected]>
Subject: Re: [HACKERS] What can we learn from MySQL?
Date: Fri, 23 Apr 2004 13:16:15 -0700 (PDT)
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<1082735128.22969.1106.camel@camel>
	<[email protected]>
	<[email protected]>

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).




view thread (145+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: [HACKERS] What can we learn from MySQL?
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox