Re: retire MemoryContextResetAndDeleteChildren backwards compatibility macro
Amul Sul <sulamul@gmail.com>
From: Amul Sul <sulamul@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2023-11-14T10:55:24Z
Lists: pgsql-hackers
On Tue, Nov 14, 2023 at 12:30 AM Nathan Bossart <nathandbossart@gmail.com> wrote: > I just found myself researching the difference between MemoryContextReset() > and MemoryContextResetAndDeleteChildren(), and it turns out that as of > commit eaa5808 (2015), there is none. > MemoryContextResetAndDeleteChildren() is just a backwards compatibility > macro for MemoryContextReset(). I found this surprising because it sounds > like they do very different things. > > Shall we retire this backwards compatibility macro at this point? A search > of https://codesearch.debian.net/ does reveal a few external uses, so we > could alternatively leave it around and just update Postgres to stop using > it, but I don't think it would be too burdensome for extension authors to > fix if we removed it completely. > +1 Patch attached. > Changes looks pretty much straight forward, but patch failed to apply on the latest master head(b41b1a7f490) at me. Regards, Amul
Commits
-
Retire MemoryContextResetAndDeleteChildren() macro.
- 6a72c42fd5af 17.0 landed
-
Simplify code by getting rid of SPI_push, SPI_pop, SPI_restore_connection.
- 1833f1a1c3b0 10.0 cited
-
Redefine MemoryContextReset() as deleting, not resetting, child contexts.
- eaa5808e8ec4 9.5.0 cited
-
tuplestore_donestoring() isn't needed anymore, but provide a no-op
- dd04e958c8b0 7.4.1 cited