RE: Handle infinite recursion in logical replication setup - Mailing list pgsql-hackers

From wangw.fnst@fujitsu.com
Subject RE: Handle infinite recursion in logical replication setup
Date
Msg-id OS3PR01MB6275470E7E7DD359C6A4CB339E949@OS3PR01MB6275.jpnprd01.prod.outlook.com
Whole thread Raw
In response to Re: Handle infinite recursion in logical replication setup  (vignesh C <vignesh21@gmail.com>)
Responses Re: Handle infinite recursion in logical replication setup
List pgsql-hackers
On Sun, Jul 24, 2022 1:28 AM vignesh C <vignesh21@gmail.com> wrote:
> Added a  note for the same and referred it to the conflicts section.
> 
> Thanks for the comments, the attached v38 patch has the changes for the same.

Thanks for your patches.

Two slight comments on the below message in the 0001 patch:

The error message in the function check_pub_table_subscribed().
+        ereport(ERROR,
+                errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
+                errmsg("could not replicate table \"%s.%s\"",
+                       nspname, relname),
+                errdetail("CREATE/ALTER SUBSCRIPTION with origin = none and copy_data = on is not allowed when the
publisherhas subscribed same table."),
 
+                errhint("Use CREATE/ALTER SUBSCRIPTION with copy_data = off/force."));

1.
I think it might be better to use true/false here than on/off.
Just for consistency with another error message
(in function parse_subscription_options) and the description of this parameter
in the PG document.

If you agree with this, please also kindly consider the attached
"slight_modification.diff" file.
(This is a slight modification for the second patch, just replace "off" with
"false" in PG document.)

2.
How about replacing "origin = none" and "copy_data = on" in the message with
"%s"? I think this might be better for translation. Just like the following
error message in the function parse_subscription_options:
```
        if (opts->copy_data &&
            IsSet(opts->specified_opts, SUBOPT_COPY_DATA))
            ereport(ERROR,
                    (errcode(ERRCODE_SYNTAX_ERROR),
                     errmsg("%s and %s are mutually exclusive options",
                            "connect = false", "copy_data = true/force")));
```

Regards,
Wang wei

Attachment

pgsql-hackers by date:

Previous
From: Aleksander Alekseev
Date:
Subject: Re: Pluggable toaster
Next
From: Dilip Kumar
Date:
Subject: Re: Perform streaming logical transactions by background workers and parallel apply