Refactor slot synchronization logic in slotsync.c. Following e68b6adad9, the reason for skipping slot synchronization is stored as a slot property. This commit removes redundant function parameters that previously tracked this state, instead relying directly on the slot property.
Additionally, this change centralizes the logic for skipping synchronization when required WAL has not yet been received or flushed. By consolidating this check, we reduce code duplication and the risk of inconsistent state updates across different code paths. In passing, add an assertion to ensure a slot is marked as temporary if a consistent point has not been reached during synchronization. Author: Zhijie Hou <[email protected]> Reviewed-by: Shveta Malik <[email protected]> Reviewed-by: Amit Kapila <[email protected]> Discussion: https://postgr.es/m/ty4pr01mb16907dd16098be3b20486d45694...@ty4pr01mb16907.jpnprd01.prod.outlook.com Discussion: https://postgr.es/m/CAFPTHDZAA+gWDntpa5ucqKKba41=txmoxqn3q4rpjo9cdxg...@mail.gmail.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/788ec96d591d0a7c916f2f4332765f46410d73b5 Modified Files -------------- src/backend/replication/logical/slotsync.c | 163 +++++++++-------------------- 1 file changed, 51 insertions(+), 112 deletions(-)
