1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-30 21:42:05 +03:00

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
This commit is contained in:
Robert Haas
2017-05-09 23:22:39 -04:00
parent 304007d9f1
commit 29fd3d9da0
3 changed files with 21 additions and 0 deletions

View File

@ -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) ||