Re: API stability
Kyotaro Horiguchi <horikyota.ntt@gmail.com>
From: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
To: robertmhaas@gmail.com
Cc: markus.wanner@enterprisedb.com, pgsql-hackers@postgresql.org
Date: 2022-04-06T06:53:32Z
Lists: pgsql-hackers
At Wed, 06 Apr 2022 15:31:53 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in > At Wed, 06 Apr 2022 14:30:37 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in > > So if we don't want to move any member in PGPROC, we do: > > > > 14: after statusFlags. > > 13: after delayChkpt. > > 12-10: after syncRepState (and before syncRepLinks). > > > > If we allow to shift some members, the new flag can be placed more > > saner place. > > > > 14: after delayChkpt ((uint8)statusFlags moves forward by 1 byte) > > 13: after delayChkpt (no member moves) > > 12-10: after subxids ((bool)procArrayGroupMember moves forward by 1 byte) > > > > I continue working on the last direction above. > > Hmm. That is ABI break. I go with the first way. By the way, the patch for -14 changed the sigunature of two public functions. -GetVirtualXIDsDelayingChkpt(int *nvxids) +GetVirtualXIDsDelayingChkpt(int *nvxids, int type) -HaveVirtualXIDsDelayingChkpt(VirtualTransactionId *vxids, int nvxids) +HaveVirtualXIDsDelayingChkpt(VirtualTransactionId *vxids, int nvxids, int type) Do I need to restore the signature? regards. -- Kyotaro Horiguchi NTT Open Source Software Center
Commits
-
Rethink the delay-checkpoint-end mechanism in the back-branches.
- 48b398943b78 10.21 landed
- 6270ee445040 11.16 landed
- 68e605b9ef37 12.11 landed
- d18c913b786c 13.7 landed
- 10520f434687 14.3 landed
-
Rename delayChkpt to delayChkptFlags.
- f37015a1617d 15.0 landed
-
Fix possible recovery trouble if TRUNCATE overlaps a checkpoint.
- bbace5697df1 14.3 cited