Thread

Commits

  1. Clean up in the wake of TupleDescGetSlot() removal / 10763358c3f.

  2. Remove absolete function TupleDescGetSlot().

  1. pgsql: Remove absolete function TupleDescGetSlot().

    Andres Freund <andres@anarazel.de> — 2018-09-25T23:39:05Z

    Remove absolete function TupleDescGetSlot().
    
    TupleDescGetSlot() was kept around for backward compatibility for
    user-written SRFs. With the TupleTableSlot abstraction work, that code
    will need to be version specific anyway, so there's no point in
    keeping the function around any longer.
    
    Author: Ashutosh Bapat
    Reviewed-By: Andres Freund
    Discussion: https://postgr.es/m/20180220224318.gw4oe5jadhpmcdnm@alap3.anarazel.de
    
    Branch
    ------
    master
    
    Details
    -------
    https://git.postgresql.org/pg/commitdiff/10763358c3f0df48d2ae39b49b0c93be149cceab
    
    Modified Files
    --------------
    src/backend/executor/execTuples.c | 22 ----------------------
    1 file changed, 22 deletions(-)
    
    
  2. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Michael Paquier <michael@paquier.xyz> — 2018-09-26T00:04:14Z

    Hi Andres,
    
    On Tue, Sep 25, 2018 at 11:39:05PM +0000, Andres Freund wrote:
    > Remove absolete function TupleDescGetSlot().
    > 
    > TupleDescGetSlot() was kept around for backward compatibility for
    > user-written SRFs. With the TupleTableSlot abstraction work, that code
    > will need to be version specific anyway, so there's no point in
    > keeping the function around any longer.
    
    There are still references in the code to this function, and a
    declaration of it:
    git grep TupleDescGetSlot
    doc/src/sgml/xfunc.sgml:     * user-defined SRFs that use the deprecated TupleDescGetSlot().
    src/include/funcapi.h:   * user-defined SRFs that use the deprecated TupleDescGetSlot().
    src/include/funcapi.h: * TupleTableSlot *TupleDescGetSlot(TupleDesc tupdesc) - Builds a
    src/include/funcapi.h:extern TupleTableSlot *TupleDescGetSlot(TupleDesc tupdesc);
    --
    Michael
    
  3. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Andres Freund <andres@anarazel.de> — 2018-09-26T00:10:39Z

    On 2018-09-26 09:04:14 +0900, Michael Paquier wrote:
    > Hi Andres,
    > 
    > On Tue, Sep 25, 2018 at 11:39:05PM +0000, Andres Freund wrote:
    > > Remove absolete function TupleDescGetSlot().
    > > 
    > > TupleDescGetSlot() was kept around for backward compatibility for
    > > user-written SRFs. With the TupleTableSlot abstraction work, that code
    > > will need to be version specific anyway, so there's no point in
    > > keeping the function around any longer.
    > 
    > There are still references in the code to this function, and a
    > declaration of it:
    
    Hrmpf :/. Thanks for catching.
    
    
    > src/include/funcapi.h: * TupleTableSlot *TupleDescGetSlot(TupleDesc tupdesc) - Builds a
    > src/include/funcapi.h:extern TupleTableSlot *TupleDescGetSlot(TupleDesc tupdesc);
    
    These two clearly need to go.
    
    
    > git grep TupleDescGetSlot
    > doc/src/sgml/xfunc.sgml:     * user-defined SRFs that use the deprecated TupleDescGetSlot().
    > src/include/funcapi.h:   * user-defined SRFs that use the deprecated TupleDescGetSlot().
    
    But here I'm less convinced. It's not entirely clear to me that the only
    real reason for this to exists actually was TupleDescGetSlot(). OTOH, I
    can't really see any proper reason to have it either.
    
    Greetings,
    
    Andres Freund
    
    
    
  4. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Michael Paquier <michael@paquier.xyz> — 2018-09-26T01:38:51Z

    On Tue, Sep 25, 2018 at 05:10:39PM -0700, Andres Freund wrote:
    >> git grep TupleDescGetSlot
    >> doc/src/sgml/xfunc.sgml:     * user-defined SRFs that use the deprecated TupleDescGetSlot().
    >> src/include/funcapi.h:   * user-defined SRFs that use the deprecated TupleDescGetSlot().
    > 
    > But here I'm less convinced. It's not entirely clear to me that the only
    > real reason for this to exists actually was TupleDescGetSlot(). OTOH, I
    > can't really see any proper reason to have it either.
    
    I have not been following the recent thread about the refactoring of
    TupleSlot and such very closely, but if you don't plan to use
    TupleTableSlot in FuncCallContext in the future, cannot this just go
    away?  The function is not here anymore, so my take would be to get rid
    of all things which relied on its presence.
    --
    Michael
    
  5. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Andres Freund <andres@anarazel.de> — 2018-09-26T01:42:51Z

    On 2018-09-26 10:38:51 +0900, Michael Paquier wrote:
    > On Tue, Sep 25, 2018 at 05:10:39PM -0700, Andres Freund wrote:
    > >> git grep TupleDescGetSlot
    > >> doc/src/sgml/xfunc.sgml:     * user-defined SRFs that use the deprecated TupleDescGetSlot().
    > >> src/include/funcapi.h:   * user-defined SRFs that use the deprecated TupleDescGetSlot().
    > > 
    > > But here I'm less convinced. It's not entirely clear to me that the only
    > > real reason for this to exists actually was TupleDescGetSlot(). OTOH, I
    > > can't really see any proper reason to have it either.
    > 
    > I have not been following the recent thread about the refactoring of
    > TupleSlot and such very closely, but if you don't plan to use
    > TupleTableSlot in FuncCallContext in the future, cannot this just go
    > away?  The function is not here anymore, so my take would be to get rid
    > of all things which relied on its presence.
    
    My point is that FuncCallContext->slot isn't actually all that related
    to TupleDescGetSlot() and could be used entirely independently.
    
    Greetings,
    
    Andres Freund
    
    
    
  6. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Michael Paquier <michael@paquier.xyz> — 2018-09-26T03:41:38Z

    On Tue, Sep 25, 2018 at 06:42:51PM -0700, Andres Freund wrote:
    > My point is that FuncCallContext->slot isn't actually all that related
    > to TupleDescGetSlot() and could be used entirely independently.
    
    That's fair.  Why not just replacing the existing comment with something
    like "slot can be used in your own context to store tuple values,
    useful in the context of user-defined SRFs"?  Just my 2c.
    --
    Michael
    
  7. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Andres Freund <andres@anarazel.de> — 2018-09-26T19:35:25Z

    Hi,
    
    On 2018-09-26 12:41:38 +0900, Michael Paquier wrote:
    > On Tue, Sep 25, 2018 at 06:42:51PM -0700, Andres Freund wrote:
    > > My point is that FuncCallContext->slot isn't actually all that related
    > > to TupleDescGetSlot() and could be used entirely independently.
    > 
    > That's fair.  Why not just replacing the existing comment with something
    > like "slot can be used in your own context to store tuple values,
    > useful in the context of user-defined SRFs"?  Just my 2c.
    
    I've tried to do search for users of FuncCallContext->slot and couldn't
    find anything. Therefore I'm more inclined to drop it too - just about
    all cases where it's useful seem to require a more extensive
    datastructure around anyway.  Unless somebody protests I'm going to that
    in a few - if somebody later in the cycle signals a need for it, we can
    still revert that part.
    
    Greetings,
    
    Andres Freund
    
    
    
  8. Re: pgsql: Remove absolete function TupleDescGetSlot().

    Andres Freund <andres@anarazel.de> — 2018-09-27T18:42:49Z

    On 2018-09-26 12:35:25 -0700, Andres Freund wrote:
    > Hi,
    > 
    > On 2018-09-26 12:41:38 +0900, Michael Paquier wrote:
    > > On Tue, Sep 25, 2018 at 06:42:51PM -0700, Andres Freund wrote:
    > > > My point is that FuncCallContext->slot isn't actually all that related
    > > > to TupleDescGetSlot() and could be used entirely independently.
    > > 
    > > That's fair.  Why not just replacing the existing comment with something
    > > like "slot can be used in your own context to store tuple values,
    > > useful in the context of user-defined SRFs"?  Just my 2c.
    > 
    > I've tried to do search for users of FuncCallContext->slot and couldn't
    > find anything. Therefore I'm more inclined to drop it too - just about
    > all cases where it's useful seem to require a more extensive
    > datastructure around anyway.  Unless somebody protests I'm going to that
    > in a few - if somebody later in the cycle signals a need for it, we can
    > still revert that part.
    
    Done so now.
    
    Greetings,
    
    Andres Freund