Re: Way to get at parsed trigger 'WHEN' clause expression? - Mailing list pgsql-general

From Igor Neyman
Subject Re: Way to get at parsed trigger 'WHEN' clause expression?
Date
Msg-id A76B25F2823E954C9E45E32FA49D70ECCD687E3A@mail.corp.perceptron.com
Whole thread Raw
In response to Re: Way to get at parsed trigger 'WHEN' clause expression?  (Melvin Davidson <melvin6925@gmail.com>)
List pgsql-general

Did you mean something like

SELECT substring(pg_get_triggerdef(tg.oid, TRUE) FROM position('WHEN' in pg_get_triggerdef(tg.oid, TRUE))) AS when_cond
  FROM pg_trigger tg WHERE tg.tgname = 'your_trigger_name';


--

Melvin Davidson
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.
http://us.i1.yimg.com/us.yimg.com/i/mesg/tsmileys2/01.gif

 

 

This doesn’t answer OP question.

Besides this query gets you not only “WHEN” clause but also whatever follows it, for instance “EXECUTE PROCEDURE…”

 

As for “pg_get_expr(pg_node_tree, relation_oid)” – looks like it doesn’t work with pg_trigger, because as a second parameter (Var) it expects relation_oid, and relation could have multiple triggers, so pg_get_expr() wouldn’t know which trigger’s tgqual you want to decompile.

 

Regards,

Igor Neyman

pgsql-general by date:

Previous
From: Geoff Winkless
Date:
Subject: Re: More correlated (?) index woes
Next
From: Igor Neyman
Date:
Subject: Re: Way to get at parsed trigger 'WHEN' clause expression?