On Sat, Feb 02, 2008 at 02:23:40PM -0500, Tom Lane wrote:
> David Fetter <[EMAIL PROTECTED]> writes:
> > On Thu, Jan 31, 2008 at 10:22:42AM +0000, Gregory Stark wrote:
> >> There are plenty of DDL commands which modify data (CREATE INDEX,
> >> ATLER TABLE ALTER COLUMN TYPE). The defining characteristic of DDL
> >> is not that it doesn't modify the data but that it does modify the
> >> table definition.
> 
> > Counter-example: ALTER TABLE ALTER COLUMN USING will almost certainly
> > modify data, but it's DDL nonetheless.
> 
> Uh, how is that a counter-example to what Greg said?

Oops.  I misread.  D'oh.

> I think the real question here is whether there is a defensible
> use-case for a trigger.  In the case of TRUNCATE it's pretty obvious
> what you might want the trigger for: to do the same thing your
> per-row ON DELETE trigger does, but across all rows.  It's much less
> easy to envision a scriptable-in-advance response to arbitrary ALTER
> TABLE operations.
> 
> Looked at in this light, TRUNCATE is clearly more nearly DML than
> DDL, in the sense that its effects are predictable and involve only
> the data not the schema (at least in the user's view).

It still involves DDL-like operations in the sense of changing (for
the duration of the query) trigger behavior.

Cheers,
David.
-- 
David Fetter <[EMAIL PROTECTED]> http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter      XMPP: [EMAIL PROTECTED]

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to