On Tue, Apr 5, 2022 at 10:17 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > Renaming it would constitute an API break, which is if anything worse > than an ABI break.
I don't think so, because an API break will cause a compilation failure, which an extension author can easily fix. > While we're complaining at you, let me point out that changing a field's > content and semantics while not changing its name is a time bomb waiting > to break any third-party code that looks at (or modifies...) the field. > > What I think you need to do is: > > 1. In the back branches, revert delayChkpt to its previous type and > semantics. Squeeze a separate delayChkptEnd bool in somewhere > (you can't change the struct size either ...). > > 2. In HEAD, rename the field to something like delayChkptFlags, > to ensure that any code touching it has to be inspected and updated. Well, we can do it that way, I suppose. -- Robert Haas EDB: http://www.enterprisedb.com