Thread: pgsql: Fix autoprewarm neglect of tablespaces

pgsql: Fix autoprewarm neglect of tablespaces

From
Melanie Plageman
Date:
Fix autoprewarm neglect of tablespaces

While prewarming blocks from a dump file, autoprewarm_database_main()
mistakenly ignored tablespace when detecting the beginning of the next
relation to prewarm. Because RelFileNumbers are only unique within a
tablespace, autoprewarm could miss prewarming blocks from a
relation with the same RelFileNumber in a different tablespace.

Though this situation is likely rare in practice, it's best to make the
code correct. Do so by explicitly checking for the RelFileNumber when
detecting a new relation.

Reported-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://postgr.es/m/97c36982-603b-494a-95f4-aaf2a12ac27e%40iki.fi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/64e7fa43a948a82f97e305f020f924c02671a434

Modified Files
--------------
contrib/pg_prewarm/autoprewarm.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)