]> granicus.if.org Git - postgresql/commit
Clear the local map when not used.
authorAmit Kapila <akapila@postgresql.org>
Fri, 1 Mar 2019 02:08:47 +0000 (07:38 +0530)
committerAmit Kapila <akapila@postgresql.org>
Fri, 1 Mar 2019 02:08:47 +0000 (07:38 +0530)
commit9c32e4c35026bd52aaf340bfe7594abc653e42f0
tree852d49369f2dcfb933ea4035430b06dc53f0269d
parent0f3cdf873e7d81fbf61965e13685595c8a23c322
Clear the local map when not used.

After commit b0eaa4c51b, we use a local map of pages to find the required
space for small relations.  We do clear this map when we have found a block
with enough free space, when we extend the relation, or on transaction
abort so that it can be used next time.  However, we miss to clear it when
we didn't find any pages to try from the map which leads to an assertion
failure when we later tried to use it after relation extension.

In the passing, I have improved some comments in this area.

Reported-by: Tom Lane based on buildfarm results
Author: Amit Kapila
Reviewed-by: John Naylor
Tested-by: Kuntal Ghosh
Discussion: https://postgr.es/m/32368.1551114120@sss.pgh.pa.us
src/backend/access/heap/hio.c
src/backend/storage/freespace/freespace.c