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


Reply via email to