Dear Bharath,
Thanks for updating and sorry for the late reply. I reviewed your patch.
Basically it looks good, but here are my comments.
```
@@ -439,10 +442,12 @@ retry:
if (should_refetch_tuple(res, &tmfd))
goto retry;
+
+ /* Materialize the slot so it preserves pass-by-ref values. */
+ ExecMaterializeSlot(outslot);
```
Can you tell me why ExecMaterializeSlot() needs to be added? Maybe you've added
to make the code consistent with RelationFindReplTupleByIndex(), but till now
any errors have not been reported due to the missing materialization. Is there a
possibility that even RelationFindReplTupleByIndex() have done the unnecessary
materialization?
```
+# Create subscriber.
+my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber');
+$node_subscriber->init(allows_streaming => 'logical');
+$node_subscriber->start;
```
Minor point; allows_streaming is not set for the logical.
```
$node_subscriber->append_conf('postgresql.conf',
"shared_preload_libraries = 'injection_points'");
$node_subscriber->restart;
```
No need to set the shared_preload_libraries and restart.
Best regards,
Hayato Kuroda
FUJITSU LIMITED