On Wed, 16 Sept 2026 at 12:16, Chao Li <[email protected]> wrote:
>
>
>
> > On Sep 16, 2026, at 13:50, Amit Kapila <[email protected]> wrote:
> >
> > --
> > With Regards,
> > Amit Kapila.
> > <v4-0001-Distinguish-publication-exclusions-in-object-addr.patch>
>
> V4 overall looks sold to me. Just a couple of small comments:
>
> 1
> ```
> -- No entry of either kind. testpub_default publishes nothing.
> SELECT pg_get_object_address('publication excluded relation',
> '{public, testpub_tbl1}', '{testpub_default}');
> ERROR: publication relation "testpub_tbl1" in publication "testpub_default"
> does not exist
> ```
>
> For this new test, the error message is a little surprising to me. Since the
> requested object type is "publication excluded relation", I would expect the
> error message to say something like:
> ```
> publication excluded relation "testpub_tbl1" in publication "testpub_default"
> does not exist
> ```
I think it would add some unnecessary code complexity in this case.
Since the underlying issue is simply that the relation is not present
in the publication, I think the existing generic error message is
sufficient and should be understandable in the context of publication
excluded relation.
> 2
> ```
> + if (objtype == OBJECT_PUBLICATION_EXCLUDED_REL && !isexcept)
> + ereport(ERROR,
> + (errcode(ERRCODE_WRONG_OBJECT_TYPE),
> + errmsg("\"%s\" is not an excluded relation
> of publication \"%s\"",
> +
> RelationGetRelationName(relation), pubname)));
> + else if (objtype == OBJECT_PUBLICATION_REL && isexcept)
> + ereport(ERROR,
> + (errcode(ERRCODE_WRONG_OBJECT_TYPE),
> + errmsg("\"%s\" is not a published relation
> of publication \"%s\"",
> +
> RelationGetRelationName(relation), pubname)));
> ```
>
> Nitpick: with the modern ereport() style, the extra parentheses around
> errcode() and errmsg() are no longer needed.
This is consistent with the nearby code, which already uses the same
style with the extra parentheses. Since this is not a new function, I
think it is better to keep it consistent with the surrounding code.
Regards,
Vignesh