From 94a8fd7dbd63a4d84b6d6d62582fa6a0834729bc Mon Sep 17 00:00:00 2001 From: EmelSimsek Date: Tue, 20 Feb 2024 02:50:48 +0300 Subject: [PATCH] Fix the crash --- src/backend/distributed/commands/table.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/backend/distributed/commands/table.c b/src/backend/distributed/commands/table.c index 074a789ed..b6319138a 100644 --- a/src/backend/distributed/commands/table.c +++ b/src/backend/distributed/commands/table.c @@ -3053,11 +3053,16 @@ ErrorUnsupportedAlterTableAddColumn(Oid relationId, AlterTableCmd *command, else if (constraint->contype == CONSTR_FOREIGN) { RangeVar *referencedTable = constraint->pktable; - char *referencedColumn = strVal(lfirst(list_head(constraint->pk_attrs))); Oid referencedRelationId = RangeVarGetRelid(referencedTable, NoLock, false); - appendStringInfo(errHint, "FOREIGN KEY (%s) REFERENCES %s(%s)", colName, - get_rel_name(referencedRelationId), referencedColumn); + appendStringInfo(errHint, "FOREIGN KEY (%s) REFERENCES %s", colName, + get_rel_name(referencedRelationId)); + + if (list_length(constraint->pk_attrs) > 0) + { + char *referencedColumn = strVal(lfirst(list_head(constraint->pk_attrs))); + appendStringInfo(errHint, "(%s)", referencedColumn); + } if (constraint->fk_del_action == FKCONSTR_ACTION_SETNULL) {