diff options
author | Melanie Plageman | 2025-04-04 19:25:17 +0000 |
---|---|---|
committer | Melanie Plageman | 2025-04-04 19:28:39 +0000 |
commit | 7f848cb788ee05b9a4896ad2e19b9ee724577439 (patch) | |
tree | 91b9ddc23f3103ef001cea1b5e9e5338fa6b719e | |
parent | b3f1a13f22f9e28842ee5fbd08b7ec805e27aaac (diff) |
Remove superfluous autoprewarm check
autoprewarm_database_main() prewarms blocks from the same database. It
is passed an array of sorted BlockInfoRecords and a start and stop index
into the array. The range represented should include only blocks
belonging to global objects or blocks from a single database. Remove an
unnecessary check that the current block is from the same database and
add an assert to ensure this invariant remains. Doing so removes a
special case that makes future refactoring to accommodate read
streamifying autoprewarm easier.
Noticed off-list by Andres Freund
-rw-r--r-- | contrib/pg_prewarm/autoprewarm.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c index 760b1548eff..5f6dca57cdd 100644 --- a/contrib/pg_prewarm/autoprewarm.c +++ b/contrib/pg_prewarm/autoprewarm.c @@ -463,12 +463,10 @@ autoprewarm_database_main(Datum main_arg) CHECK_FOR_INTERRUPTS(); /* - * Quit if we've reached records for another database. If previous - * blocks are of some global objects, then continue pre-warming. + * All blocks between prewarm_start_idx and prewarm_stop_idx should + * belong either to global objects or the same database. */ - if (old_blk != NULL && old_blk->database != blk->database && - old_blk->database != 0) - break; + Assert(blk->database == apw_state->database || blk->database == 0); /* * As soon as we encounter a block of a new relation, close the old |