Re: [PATCHES] As proposed the complete changes to pg_trigger and pg_rewrite - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [PATCHES] As proposed the complete changes to pg_trigger and pg_rewrite
Date
Msg-id 200703222033.l2MKXsI04058@momjian.us
Whole thread Raw
In response to Re: [PATCHES] As proposed the complete changes to pg_trigger and pg_rewrite  (Jan Wieck <JanWieck@Yahoo.com>)
Responses Re: Re: [PATCHES] As proposed the complete changes to pg_trigger and pg_rewrite  (alfranio correia junior <alfranio@lsd.di.uminho.pt>)
List pgsql-hackers
Jan Wieck wrote:
> On 3/21/2007 10:24 PM, Bruce Momjian wrote:
> > Ah, so you wait for me to go on vacation to apply it!  Well, I am back
> > now, buddy.  ;-)
> 
> Got to use my chances, don't I? :-p
> 
> > 
> > One thing that bothers me about the patch is that it seems you are
> > adding functionality that allows you to enable/disable trigger firing in
> > groups, which is fine, but you are hard-coding the use of that grouping
> > to be replication, e.g. "origin", "replica", etc.
> > 
> > Should these designations be more generic in case there are other uses
> > for enabling/disabling groups of triggers?
> 
> That would be fine with me, I just wasn't able to come up with any 
> sensible naming scheme other than replication related. Can you?

The best I could think of would be to create numbered groups of
triggers, but because I can't think of any use for that, and no one else
has, I think the patch is fine unchanged.

---------------------------------------------------------------------------

> > Jan Wieck wrote:
> >> For discussion:
> >> 
> >> Attached is the completed patch that changes pg_trigger and extends
> >> pg_rewrite in order to allow triggers and rules to be defined with
> >> different, per session controllable, behaviors for replication purposes.
> >> 
> >> This will allow replication systems like Slony-I and, as has been stated
> >> on pgsql-hackers, other products to control the firing mechanism of
> >> triggers and rewrite rules without modifying the system catalog directly.
> >> 
> >> The firing mechanisms are controlled by a new superuser-only GUC
> >> variable, session_replication_role, together with a change to
> >> pg_trigger.tgenabled and a new column pg_rewrite.ev_enabled. Both
> >> columns are a single char data type now (tgenabled was a bool before).
> >> The possible values in these attributes are:
> >> 
> >>       'O' - Trigger/Rule fires when session_replication_role is "origin"
> >>             (default) or "local". This is the default behavior.
> >> 
> >>       'D' - Trigger/Rule is disabled and fires never
> >> 
> >>       'A' - Trigger/Rule fires always regardless of the setting of
> >>             session_replication_role
> >> 
> >>       'R' - Trigger/Rule fires when session_replication_role is "replica"
> >> 
> >> The GUC variable can only be changed as long as the system does not have
> >> any saved SPI plans. This will prevent changing the session role and
> >> accidentally executing stored procedures or functions that have plans
> >> cached that expand to the wrong query set due to differences in the rule
> >> firing semantics.
> >> 
> >> The SQL syntax for changing a triggers/rules firing semantics is
> >> 
> >>       ALTER TABLE <tabname> <when> TRIGGER|RULE <name>;
> >> 
> >>       <when> ::= ENABLE | ENABLE ALWAYS | ENABLE REPLICA | DISABLE
> >> 
> >> psql's \d command as well as pg_dump are extended in a backward
> >> compatible fashion.
> >> 
> >> Any volunteers to do the corresponding documentation changes should this
> >> patch be accepted?
> >> 
> > 
> 
> 
> -- 
> #======================================================================#
> # It's easier to get forgiveness for being wrong than for being right. #
> # Let's break this rule - forgive me.                                  #
> #================================================== JanWieck@Yahoo.com #

--  Bruce Momjian  <bruce@momjian.us>          http://momjian.us EnterpriseDB
http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [PATCHES] xpath_array with namespaces support
Next
From: Bruce Momjian
Date:
Subject: Re: [RFC] CLUSTER VERBOSE