aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2017-05-09 23:22:39 -0400
committerRobert Haas <rhaas@postgresql.org>2017-05-09 23:24:23 -0400
commit29fd3d9da0ff9e230ff051c1423871bd6eac377d (patch)
treeaaf084a7b671ca86e9587c69810def8949054276 /src/backend/commands/trigger.c
parent304007d9f1f66fd37e50e5a5aa6f17400f1239f8 (diff)
downloadpostgresql-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.c5
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) ||