Hi,
Thanks for updating the patch, I think it is a useful feature.
I looked at the v15 patch and the patch looks mostly good to me.
Here are few comments:
1.
+ {
+ appendStringInfo(&cmd, " WITH (FORMAT binary)");
We could use appendStringInfoString here.
2.
+# It should fail
+$node_subscriber->wait_for_log(qr/ERROR: ( [A-Z0-9]+:)? no binary input function available for type/);
...
+# Cannot sync due to type mismatch
+$node_subscriber->wait_for_log(qr/ERROR: ( [A-Z0-9]+:)? incorrect binary data format/);
...
+# Ensure the COPY command is executed in text format on the publisher
+$node_publisher->wait_for_log(qr/LOG: ( [a-z0-9]+:)? COPY (.+)? TO STDOUT\n/);
I think it would be better to pass the log offset when using wait_for_log,
because otherwise it will check the whole log file to find the target message,
This might not be a big problem, but it has a risk of getting unexpected log message
which was generated by previous commands.
Best Regards,
Hou zj