Re: How to fire triggers just on "top" level DML

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "A(dot)M(dot)" <agentm(at)themactionfaction(dot)com>
Cc: <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to fire triggers just on "top" level DML
Date: 2011-01-19 22:36:35
Message-ID: 4D3713130200002500039839@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

"A.M." <agentm(at)themactionfaction(dot)com> wrote:

> Most PLs include some session-specific storage. In PL/Perl, it is
> %_SHARED. Setting a flag there should do the trick. If you are
> using a PL which does not have such a notion (like plpgsql), you
> can add a call in your triggers to a function written in a PL
> which does support this. Alternatively, a C function which
> sets/checks a global flag would work as well.

I thought it might come to that. I'm comfortable writing C
functions, and we're not using any languages so far besides C, SQL,
and plpgsql, so I'd probably use C. If I'm going that far, though,
I'd be rather inclined to implement a TG_DEPTH variable (as being
easier for us to use) and offer it to the community in case there's
anyone else who would find this useful. If that turns out to be
harder than I think, I'll fall back to what you outlined here.

Thanks!

-Kevin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message A.M. 2011-01-19 22:43:30 Re: How to fire triggers just on "top" level DML
Previous Message Tom Lane 2011-01-19 22:29:15 Re: undefined symbol PQconnectionNeedsPassword referenced by file pg_ctl.o