On Sat, Sep 22, 2018 at 2:28 AM Andres Freund <and...@anarazel.de> wrote: > > On 2018-09-22 08:54:57 +1200, Thomas Munro wrote: > > On Fri, Sep 21, 2018 at 4:43 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > > Thomas Munro <thomas.mu...@enterprisedb.com> writes: > > > > On Fri, Sep 21, 2018 at 4:06 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > > > >> Why would we fix it rather than just removing it? > > > > > > > I assumed we wouldn't remove an extern C function extension code > > > > somewhere might use. Though admittedly I'd be surprised if anyone > > > > used this one. > > > > > > Unless it looks practical to support this behavior in the Windows > > > and SysV cases, I think we should get rid of it rather than expend > > > effort on supporting it for just some platforms. > > > > We can remove it in back-branches without breaking API compatibility: > > > > 1. Change dsm_impl_can_resize() to return false unconditionally (I > > suppose client code is supposed to check this before using > > dsm_resize(), though I'm not sure why it has an "impl" in its name if > > it's part of the public interface of this module). > > 2. Change dsm_resize() and dsm_remap() to raise an error conditionally. > > 3. Rip out the DSM_OP_RESIZE cases from various places. > > > > Then in master, remove all of those functions completely. However, > > I'd feel like a bit of a vandal. Robert and Amit probably had plans > > for that code...? > > Robert, Amit: ^ >
I went through and check the original proposal [1] to see if any use case is mentioned there, but nothing related has been discussed. I couldn't think of much use of this facility except maybe for something like parallelizing correalated sub-queries where the size of outer var can change across executions and we might need to resize the initially allocated memory. This is just a wild thought, I don't have any concrete idea about this. Having said that, I don't object to removing this especially because the implementation doesn't seem to be complete. In future, if someone needs such a facility, they can first develop a complete version of this API. [1] - https://www.postgresql.org/message-id/CA%2BTgmoaDqDUgt%3D4Zs_QPOnBt%3DEstEaVNP%2B5t%2Bm%3DFPNWshiPR3A%40mail.gmail.com -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com