public inbox for [email protected]  
help / color / mirror / Atom feed
From: Kirill Reshke <[email protected]>
To: zengman <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict()
Date: Sat, 17 Jan 2026 02:57:00 +0500
Message-ID: <CALdSSPgGuyhfq4OF6dn4w34g+_uySuquaSMHgrctU=ZCDuijLA@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

On Fri, 16 Jan 2026, 19:25 zengman, <[email protected]> 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


view thread (3+ messages)

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict()
  In-Reply-To: <CALdSSPgGuyhfq4OF6dn4w34g+_uySuquaSMHgrctU=ZCDuijLA@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox