> I disagree here.  There are regular ON TRUNCATE triggers on tables, so I
don't
> see the need.  You can define a trigger with the same trigger function on
> several tables.

You have to create a trigger for each table, and drop them before you drop
the table. The DDL trigger will just work more seamlessly.
If we say this is not a DDL, then how about supporting a wildcard as the
table_name in the BEFORE/ALTER TRUNCATE trigger?

----
Hari Krishna Sunder

On Tue, Jul 8, 2025 at 11:39 PM Laurenz Albe <laurenz.a...@cybertec.at>
wrote:

> On Tue, 2025-07-08 at 21:23 -0700, David G. Johnston wrote:
> > On Tuesday, July 8, 2025, Hari Krishna Sunder <hari.db...@gmail.com>
> wrote:
> > > First of all, is TRUNCATE a DDL or a DML? This doc refers to it as a
> DDL,
> > > whereas other docs like this and this treat it as a DML, so which one
> is it?
> >
> > Neither…classification systems are often imperfect…but it sure quacks
> like
>
> > DML to my ears.  I’d probably remove the term “DDL” from that first link
> and
> > avoid the grey area.  Listing the two commands suffices.
>
> I agree with that.
>
> > > A lot of other SQL databases treat TRUNCATE as a DDL, so assuming that
> is
> > > true, can we add it to the command tags supported
> by "ddl_command_start"
> > > and "ddl_command_end" triggers?
> >
> > Seems worthy of consideration regardless of how one answers the prior
> > question; for much the same reason.
>
> I disagree here.  There are regular ON TRUNCATE triggers on tables, so I
> don't
> see the need.  You can define a trigger with the same trigger function on
> several tables.
>
> Yours,
> Laurenz Albe
>

Reply via email to