Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict() - Mailing list pgsql-hackers

From Kirill Reshke
Subject Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict()
Date
Msg-id CALdSSPgGuyhfq4OF6dn4w34g+_uySuquaSMHgrctU=ZCDuijLA@mail.gmail.com
Whole thread Raw
In response to [PATCH] Remove redundant Assert() calls in report_namespace_conflict()  ("zengman" <zengman@halodbtech.com>)
Responses Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict()
List pgsql-hackers


On Fri, 16 Jan 2026, 19:25 zengman, <zengman@halodbtech.com> wrote:
Hi all,

I noticed that report_namespace_conflict() has Assert(OidIsValid(nspOid)) at the function entry, and the same assertion is repeated in each switch case. These duplicate assertions are redundant since the check at the top already covers all cases.
Attached patch removes the 6 redundant assertions to make the code a bit cleaner.

```
static void
report_namespace_conflict(Oid classId, const char *name, Oid nspOid)
{
  char     *msgfmt;

  Assert(OidIsValid(nspOid));

  switch (classId)
  {
    case ConversionRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("conversion \"%s\" already exists in schema \"%s\"");
      break;
    case StatisticExtRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("statistics object \"%s\" already exists in schema \"%s\"");
      break;
    case TSParserRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("text search parser \"%s\" already exists in schema \"%s\"");
      break;
    case TSDictionaryRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("text search dictionary \"%s\" already exists in schema \"%s\"");
      break;
    case TSTemplateRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("text search template \"%s\" already exists in schema \"%s\"");
      break;
    case TSConfigRelationId:
      Assert(OidIsValid(nspOid));
      msgfmt = gettext_noop("text search configuration \"%s\" already exists in schema \"%s\"");
      break;
    default:
      elog(ERROR, "unsupported object class: %u", classId);
      break;
  }

  ereport(ERROR,
      (errcode(ERRCODE_DUPLICATE_OBJECT),
       errmsg(msgfmt, name, get_namespace_name(nspOid))));
}
```

--
Regards,
Man Zeng
www.openhalo.org


Hi!

Yes, this patch looks valid 

pgsql-hackers by date:

Previous
From: Nathan Bossart
Date:
Subject: Re: [PATCH] ternary reloption type
Next
From: Michael Paquier
Date:
Subject: Re: [PATCH] remove incorrect comment in pg_resetwal.c