diff options
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 6b4022c3bcc..8da525c715b 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -2287,6 +2287,16 @@ pg_get_constraintdef_worker(Oid constraintId, bool fullCommand, if (string) appendStringInfo(&buf, " ON DELETE %s", string); + /* Add columns specified to SET NULL or SET DEFAULT if provided. */ + val = SysCacheGetAttr(CONSTROID, tup, + Anum_pg_constraint_confdelsetcols, &isnull); + if (!isnull) + { + appendStringInfo(&buf, " ("); + decompile_column_index_array(val, conForm->conrelid, &buf); + appendStringInfo(&buf, ")"); + } + break; } case CONSTRAINT_PRIMARY: |