diff options
author | Robert Haas <rhaas@postgresql.org> | 2017-05-09 23:22:39 -0400 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2017-05-09 23:24:23 -0400 |
commit | 29fd3d9da0ff9e230ff051c1423871bd6eac377d (patch) | |
tree | aaf084a7b671ca86e9587c69810def8949054276 /src/backend/commands/trigger.c | |
parent | 304007d9f1f66fd37e50e5a5aa6f17400f1239f8 (diff) | |
download | postgresql-29fd3d9da0ff9e230ff051c1423871bd6eac377d.tar.gz postgresql-29fd3d9da0ff9e230ff051c1423871bd6eac377d.zip |
Don't permit transition tables with TRUNCATE triggers.
Prior to this prohibition, such a trigger caused a crash.
Thomas Munro, per a report from Neha Sharma. I added a
regression test.
Discussion: http://postgr.es/m/CAEepm=0VR5W-N38eTkO_FqJbGqQ_ykbBRmzmvHyxDhy1p=0Csw@mail.gmail.com
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index d05e51c8208..c0511639db0 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -366,6 +366,11 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("transition table name can only be specified for an AFTER trigger"))); + if (TRIGGER_FOR_TRUNCATE(tgtype)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("TRUNCATE triggers with transition tables are not supported"))); + if (tt->isNew) { if (!(TRIGGER_FOR_INSERT(tgtype) || |