Thread

Commits

  1. Fix potential for compiler warning in GlobalVisTestFor().

  2. Deduplicate choice of horizon for a relation procarray.c.

  1. pgsql: Deduplicate choice of horizon for a relation procarray.c.

    Andres Freund <andres@anarazel.de> — 2021-07-25T03:34:22Z

    Deduplicate choice of horizon for a relation procarray.c.
    
    5a1e1d83022 was a minimal bug fix for dc7420c2c92. To avoid future bugs of
    that kind, deduplicate the choice of a relation's horizon into a new helper,
    GlobalVisHorizonKindForRel().
    
    As the code in question was only introduced in dc7420c2c92 it seems worth
    backpatching this change as well, otherwise 14 will look different from all
    other branches.
    
    A different approach to this was suggested by Matthias van de Meent.
    
    Author: Andres Freund
    Discussion: https://postgr.es/m/20210621122919.2qhu3pfugxxp3cji@alap3.anarazel.de
    Backpatch: 14, like 5a1e1d83022
    
    Branch
    ------
    REL_14_STABLE
    
    Details
    -------
    https://git.postgresql.org/pg/commitdiff/3d0a4636aa4c976e971c05c77e162fc70c61f40b
    
    Modified Files
    --------------
    src/backend/storage/ipc/procarray.c | 98 ++++++++++++++++++++++++-------------
    1 file changed, 64 insertions(+), 34 deletions(-)
    
    
  2. Re: pgsql: Deduplicate choice of horizon for a relation procarray.c.

    Stephen Frost <sfrost@snowman.net> — 2021-08-27T22:46:39Z

    Greetings,
    
    * Andres Freund (andres@anarazel.de) wrote:
    > As the code in question was only introduced in dc7420c2c92 it seems worth
    > backpatching this change as well, otherwise 14 will look different from all
    > other branches.
    
    Interestingly, these patches ended up actually introducing a difference
    between 14 and master in the form of:
    
    GlobalVisTestFor(Relation rel)
    
    -   GlobalVisState *state;
    +   GlobalVisState *state = NULL;
    
    being done on master but not in the 14 stable branch, leading to, at
    least for me:
    
    .../src/backend/storage/ipc/procarray.c: In function ‘GlobalVisTestFor’:
    .../src/backend/storage/ipc/procarray.c:4054:9: warning: ‘state’ may be used uninitialized in this function [-Wmaybe-uninitialized]
     4054 |  return state;
          |         ^~~~~
    
    Seems like we should include that change in 14 too, to get rid of the
    above warning and to make that bit of code the same too..?
    
    Thanks!
    
    Stephen
    
  3. Re: pgsql: Deduplicate choice of horizon for a relation procarray.c.

    Andres Freund <andres@anarazel.de> — 2021-09-14T00:01:53Z

    Hi,
    
    On 2021-08-27 18:46:39 -0400, Stephen Frost wrote:
    > * Andres Freund (andres@anarazel.de) wrote:
    > > As the code in question was only introduced in dc7420c2c92 it seems worth
    > > backpatching this change as well, otherwise 14 will look different from all
    > > other branches.
    > 
    > Interestingly, these patches ended up actually introducing a difference
    > between 14 and master in the form of:
    > 
    > GlobalVisTestFor(Relation rel)
    > 
    > -   GlobalVisState *state;
    > +   GlobalVisState *state = NULL;
    > 
    > being done on master but not in the 14 stable branch, leading to, at
    > least for me:
    > 
    > .../src/backend/storage/ipc/procarray.c: In function ‘GlobalVisTestFor’:
    > .../src/backend/storage/ipc/procarray.c:4054:9: warning: ‘state’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    >  4054 |  return state;
    >       |         ^~~~~
    > 
    > Seems like we should include that change in 14 too, to get rid of the
    > above warning and to make that bit of code the same too..?
    
    Done! Stupid oversight :(
    
    Greetings,
    
    Andres Freund