Hi Kuroda-san,

Thank you very much for the patch. In general, it seem to work well for me, but 
there seems to be a memory access problem in libpqrcv_alter_slot -> 
quote_identifier in case of NULL slot_name. It happens, if the two_phase option 
is altered on a subscription without slot. I think, a simple check for NULL may 
fix the problem. I guess, the same problem may be for failover option.

Another possible problem is related to my use case. I haven't reproduced this 
case, just some thoughts. I guess, when two_phase is ON, the PREPARE statement 
may be truncated from the WAL at checkpoint, but COMMIT PREPARED is still kept 
in the WAL. On catchup, I would ask the master to send transactions from some 
restart LSN. I would like to get all such transactions competely, with theirs 
bodies, not only COMMIT PREPARED messages. One of the solutions is to have an 
option for the slot to keep the WAL like with two_phase = OFF independently on 
its two_phase option. It is just an idea.

With best regards,
Vitaly

Reply via email to