Re: Rename of triggers for partitioned tables

Alvaro Herrera <alvherre@alvh.no-ip.org>

From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Arne Roland <A.Roland@index.de>
Cc: vignesh C <vignesh21@gmail.com>, Zhihong Yu <zyu@yugabyte.com>, Pg Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2021-07-20T20:13:21Z
Lists: pgsql-hackers

Attachments

On 2021-Jul-19, Alvaro Herrera wrote:

> Well, it does rename a trigger named 'name' on the table 'table_name',
> as well as all its descendant triggers.  I guess I am surprised that
> anybody would rename a descendant trigger in the first place.  I'm not
> wedded to the decision of removing the NOTICE, though  ... are there any
> other votes for that, anyone?

I put it back, mostly because I don't really care and it's easily
removed if people don't want it.  (I used a different wording though,
not necessarily final.)

I also realized that if you rename a trigger and the target name is
already occupied, we'd better throw a nicer error message than failure
by violation of a unique constraint; so I moved the check for the name
to within renametrig_internal().  Added a test for this.

Also added a test to ensure that nothing happens with statement
triggers.  This doesn't need any new code, because those triggers don't
have tgparentid set.

-- 
Álvaro Herrera           39°49'30"S 73°17'W  —  https://www.EnterpriseDB.com/

Commits

  1. Remove newly added useless assertion check

  2. Make ALTER TRIGGER RENAME consistent for partitioned tables

  3. Fix pg_dump for disabled triggers on partitioned tables

  4. Preserve firing-on state when cloning row triggers to partitions

  5. Fix ALTER TABLE .. ENABLE/DISABLE TRIGGER recursion

  6. Record parents of triggers

  7. Allow FOR EACH ROW triggers on partitioned tables