Thanks for the effort on the patches. I did a quick look on them before diving into the logic and discussion. Below are a few minor typos found in version 31.
⸻
1. Spelling of “non-removable”
[PATCH v31 1/7]
In docs and code “removeable” vs. “removable” are used alternatively and omitted the hyphen in “non-removable”.
2. Double “arise” in SGML
[PATCH v31 7/7]
In doc/src/sgml/logical-replication.sgml under the <varlistentry id="conflict-update-deleted">, have duplicate arise:
+ are enabled. Note that if a tuple cannot be found due to the table being + truncated only a <literal>update_missing</literal> conflict will arise. + arise
3. Commit-message typos
[PATCH v31 1/7] (typo “tranasction”)
Subject: [PATCH v30 1/7] Maintain the oldest non removeable tranasction ID by apply worker
Attaching the V31 patch set which addressed comments in [1]~[8].
The comments in [9] concerning the new GUC in patch 0004 is still under review and will be addressed in the next version.