| From: | Kirill Reshke <reshkekirill(at)gmail(dot)com> |
|---|---|
| To: | zengman <zengman(at)halodbtech(dot)com> |
| Cc: | pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: [PATCH] Remove redundant Assert() calls in report_namespace_conflict() |
| Date: | 2026-01-16 21:57:00 |
| Message-ID: | CALdSSPgGuyhfq4OF6dn4w34g+_uySuquaSMHgrctU=ZCDuijLA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, 16 Jan 2026, 19:25 zengman, <zengman(at)halodbtech(dot)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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2026-01-16 22:04:53 | Re: [PATCH] remove incorrect comment in pg_resetwal.c |
| Previous Message | Nathan Bossart | 2026-01-16 21:52:59 | Re: [PATCH] ternary reloption type |