Re: Deprecating RULES

From: Daniel Farina <daniel(at)heroku(dot)com>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Deprecating RULES
Date: 2012-10-11 23:33:14
Message-ID: CAAZKuFY5bnq4X8BjZVtH=5i3L45MpycmQa1Ztsuz6p_goMSrow@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Oct 11, 2012 at 3:59 PM, Josh Berkus <josh(at)agliodbs(dot)com> wrote:
>
>> With the DDL trigger, we're able to do that faster. The idea is you
>> can still delete it if you need compatibility, so we get the message
>> across without an extra release and without an annoying GUC (etc).
>
> You're seeing these things as bugs. I see them as features. And we
> don't need a GUC if you can't turn the warning off.
>
> I'm also not real keen on the idea that someone could dump a 9.2
> database and be unable to load it into 9.3 because of the DDL trigger,
> especially if they might not encounter it until halfway through a
> restore. That seems rather user-hostile to me.
>
> Also, how would you picture that working with pg_upgrade?
>
> RULEs are a major feature we've had for over a decade. We've discussed
> deprecating them on -hackers, but believe it or don't, most of our users
> don't read -hackers. We need to warn people, loudly and repeatedly, for
> at *least* a year and a half before removing RULEs. So, to expand on my
> sequence of events:
>
> 1. Figure out how to 100% replace all functionality currently offered by
> RULEs (this may already exist, but nobody has accounted it)
> 2. Announce that RULES will be going away after 9.4 (in 2015).
> 3. Amend the documentation pages on RULEs with a fat header saying this
> is a deprecated feature and going away in 2 versions.
> 4. Write wiki pages describing how to migrate away from RULEs.
> 5. In 9.4, send a warning every time someone CREATEs/ALTERs a
> user-defined RULE.
> 6. In 10.0, get rid of CREATE RULE.

I think this more realistic. One other thing I'd like to state is
that one we move into hard-core deprecation mode that the DDL trigger
may not be enough to incite the action we need to smoothly deprecate.
Instead, any *use* of a rule that is not through a view (aka a
non-deprecated feature) should spam you with a nice big warning to
annoy you into taking action. This may be in a release following the
DDL-trigger-warning.

This may sound insane, but it worked for standards conforming strings,
and that seems to have gone reasonably well...at least taken in
comparison to bytea.

--
fdr

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2012-10-11 23:45:56 Re: Deprecating RULES
Previous Message Markus Wanner 2012-10-11 23:16:20 Re: WAL_DEBUG logs spurious data