Fix autoprewarm neglect of tablespaces
authorMelanie Plageman
Fri, 4 Apr 2025 15:34:06 +0000 (11:34 -0400)
committerMelanie Plageman
Fri, 4 Apr 2025 15:34:06 +0000 (11:34 -0400)
commit64e7fa43a948a82f97e305f020f924c02671a434
treef9a51893510e17f59e85f9155c4599afe4a74fb0
parent742317a80f89a5d6476c20b3d07330f3ec0d4357
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
Discussion: https://postgr.es/m/97c36982-603b-494a-95f4-aaf2a12ac27e%40iki.fi
contrib/pg_prewarm/autoprewarm.c