Re: How to fire triggers just on "top" level DML - Mailing list pgsql-general

From Kevin Grittner
Subject Re: How to fire triggers just on "top" level DML
Date
Msg-id 4D3713130200002500039839@gw.wicourts.gov
Whole thread Raw
In response to Re: How to fire triggers just on "top" level DML  ("A.M." <agentm@themactionfaction.com>)
Responses Re: How to fire triggers just on "top" level DML
Re: How to fire triggers just on "top" level DML
List pgsql-general
"A.M." <agentm@themactionfaction.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

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: undefined symbol PQconnectionNeedsPassword referenced by file pg_ctl.o
Next
From: "A.M."
Date:
Subject: Re: How to fire triggers just on "top" level DML