Hi,

On 4/27/23 10:11 AM, Yu Shi (Fujitsu) wrote:
Hi hackers,

In 035_standby_logical_decoding.pl, I think that the check in the following test
case should be performed on the standby node, instead of the primary node, as
the slot is created on the standby node.

Oh right, the current test is not done on the right node, thanks!

The test currently passes because it
only checks the return value of psql. It might be more appropriate to check the
error message.

Agree, and it's consistent with what is being done in 006_logical_decoding.pl.

Please see the attached patch.


+
+($result, $stdout, $stderr) = $node_standby->psql(
         'otherdb',
         "SELECT lsn FROM pg_logical_slot_peek_changes('behaves_ok_activeslot', 
NULL, NULL) ORDER BY lsn DESC LIMIT 1;"
-    ),
-    3,
-    'replaying logical slot from another database fails');
+    );
+ok( $stderr =~
+         m/replication slot "behaves_ok_activeslot" was not created in this 
database/,
+       "replaying logical slot from another database fails");


That does look good to me.

Nit: I wonder if while at it (as it was already there) we could not remove the " 
ORDER BY lsn DESC LIMIT 1" part of it.
It does not change anything regarding the test but looks more appropriate to me.

Regards,

--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com


Reply via email to