diff options
-rw-r--r-- | src/backend/commands/tablecmds.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 95af5ec2dc7..e13b96d2522 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -2088,7 +2088,13 @@ MergeAttributes(List *schema, List *supers, char relpersistence, coldef->cooked_default = restdef->cooked_default; coldef->constraints = restdef->constraints; coldef->is_from_type = false; - list_delete_cell(schema, rest, prev); + schema = list_delete_cell(schema, rest, prev); + + /* + * As two elements are merged and one is removed, we + * should never finish with an empty list. + */ + Assert(schema != NIL); } else ereport(ERROR, |