On 25 February 2012 13:15, Thom Brown <t...@linux.com> wrote:
> On 25 February 2012 12:42, Thom Brown <t...@linux.com> wrote:
>> On 25 February 2012 12:07, Thom Brown <t...@linux.com> wrote:
>>> On 25 February 2012 12:00, Dimitri Fontaine <dimi...@2ndquadrant.fr> wrote:
>>> D'oh, just as I sent some more queries...
>>>> Thom Brown <t...@linux.com> writes:
>>>>> Is there any reason why the list of commands that command triggers can
>>>>> be used with isn't in alphabetical order?  Also it appears to show
>>>> Any reason why?  I don't suppose it's really important one way or the
>>>> other, so I'm waiting on some more voices before working on it.
>>> Just so it's easy to scan.  If someone is looking for CREATE CAST,
>>> they'd kind of expect it near the drop of the CREATE list, but it's
>>> actually toward the bottom.  It just looks random at the moment.
>>>>> The ALTER COMMAND TRIGGER page also doesn't show which commands it can
>>>>> be used against.  Perhaps, rather than repeat the list, there could be
>>>>> a note to say that a list of valid commands can be found on the CREATE
>>>> Well you can only alter a command that you were successful in creating,
>>>> right?  So I'm not sure that's needed here.  By that count though, I
>>>> maybe should remove the supported command list from DROP COMMAND TRIGGER
>>>> reference page?
>>> Sure, that would be more consistent.  You're right, it's not needed.
>>> It just seemed odd that one of the statements lacked what both others
>>> had.
>> Yet another comment... (I should have really started looking at this
>> at an earlier stage)
>> It seems that if one were to enforce a naming convention for relations
>> as shown in the 2nd example for CREATE COMMAND TRIGGER, it could be
>> circumvented by someone using CREATE TABLE name AS...
>> test=# CREATE TABLE badname (id int, a int, b text);
>> ERROR:  invalid relation name: badname
>> test=# CREATE TABLE badname AS SELECT 1::int id, 1::int a, ''::text b;
>> This doesn't even get picked up by ANY COMMAND.
> CREATE COMMAND TRIGGER doesn't output in pg_dump or pg_dumpall.  I'd
> expect ALTER COMMAND TRIGGER to output too for when individual
> commands are disabled etc.

Just found another case where a table can be created without a command
trigger firing:

SELECT * INTO badname FROM goodname;


Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to