Re: Command Triggers
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Dimitri Fontaine <dimitri@2ndquadrant.fr>, Alvaro Herrera <alvherre@commandprompt.com>, Andres Freund <andres@anarazel.de>, Pg Hackers <pgsql-hackers@postgresql.org>, Greg Smith <greg@2ndquadrant.com>, Bruce Momjian <bruce@momjian.us>
Date: 2012-01-20T19:27:50Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes: > Hmm, OK. But what happens if the user doesn't specify a schema name explicitly? For the creation case, RangeVarGetCreationNamespace should handle that. The code Dimitri quoted is wrong, but not that hard to fix. Unfortunately, the code he quoted for the ALTER case is also wrong, and harder to fix. Until you've done the lookup you don't know which schema the referenced object is in. And I don't care for the idea of doing the lookup twice, as (a) it'll be slower and (b) there are race cases where it will give the wrong answer, ie return an object other than the one the ALTER eventually acts on. Really I think there is not any single point where you can put the command-trigger hook and be done. In almost every case, the right place is going to be buried somewhere within the execution of the command. regards, tom lane