[EMAIL PROTECTED] (Simon Riggs) writes:
> Every time we introduce a feature that changes output, we just put an if
> test in saying sql_compatibility = X, (the release we added feature).
>
> Straightforward, futureproof. Cool.

This is somewhat like the way that some shells try to emulate others;
for instance, zsh tries to emulate "sh" or "ksh" when invoked by those
names.

There are two problems with this:

   a) The conspicuous phrase, "try to emulate"

      Which leaves open several questions:

       - What if we can't?

       - What about when we don't want to (e.g. - because the new
         version has a new behaviour that we *DO* want)?

       - What if some semantic change takes place that we didn't
         realize should have been open to the "try to emulate"?  
         Such as, where there's an ordering change...

   b) It requires adding a new, not-previous-existant effort to
      classify changes and put in logic to allow controlling whether we
      use "legacy logic" or "new logic."

      That seems likely to get mighty messy to me, requiring
      "blabbering" control code throughout the code base.

I don't think we actually get the "future proofness" that you're
suggesting.  It would be nice if we could, but that seems unrealistic.
-- 
let name="cbbrowne" and tld="linuxdatabases.info" in String.concat "@" 
[name;tld];;
http://linuxfinances.info/info/spiritual.html
Rules of the Evil Overlord #204. "I will hire an entire squad of blind
guards.   Not only  is this  in  keeping with  my status  as an  equal
opportunity employer, but it will  come in handy when the hero becomes
invisible or douses my only light source."
<http://www.eviloverlord.com/>

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to