On Sat, Sep 22, 2018 at 4:52 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
> On Sat, Sep 22, 2018 at 2:28 AM Andres Freund <andres@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 <tgl@sss.pgh.pa.us> wrote:
> > > > 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.
Thanks for looking into that. Here's a pair of draft patches to
disable and then remove dsm_resize() and dsm_map().
--
Thomas Munro
http://www.enterprisedb.com