diff --git a/src/gausskernel/optimizer/commands/dropcmds.cpp b/src/gausskernel/optimizer/commands/dropcmds.cpp index a0ddd1dbc..57d690bdd 100644 --- a/src/gausskernel/optimizer/commands/dropcmds.cpp +++ b/src/gausskernel/optimizer/commands/dropcmds.cpp @@ -363,11 +363,12 @@ static void does_not_exist_skipping(ObjectType objtype, List* objname, List* obj else ereport(ERROR, (errcode(ERRCODE_UNRECOGNIZED_NODE_TYPE), (errmsg("unknown type: %d",(int)ptype->type)))); - if (!schema_does_not_exist_skipping(typ->names, &msg, &name)) { + List *typeNames = list_copy(typ->names); + if (!schema_does_not_exist_skipping(typeNames, &msg, &name)) { msg = gettext_noop("type \"%s\" does not exist"); name = TypeNameToString(typ); } - + list_free_ext(typeNames); } break; case OBJECT_COLLATION: msg = gettext_noop("collation \"%s\" does not exist");