From 4edb37e322a64b1c9edd7f0da6fa7cda4541a67c Mon Sep 17 00:00:00 2001 From: Masahiko Sawada Date: Tue, 26 Mar 2024 13:06:06 +0900 Subject: [PATCH] Fix a calculation in TidStoreCreate(). Since we expect that the max_bytes is in bytes, not in kilobytes, it should not be multiplied by 1024. Introduced by 30e144287a. Reported-by: John Naylor, David Rowley Reviewed-by: John Naylor Discussion: https://postgr.es/m/CANWCAZZTE-14ofsucofTuhFsfuDGBNf%3DNZb22TMYT8bxA41oQQ%40mail.gmail.com Discussion: https://postgr.es/m/CAApHDvojg82NDaDEpj1WEZSbVTafj%3DDRmW%2BFrkBdW8ScL4OFxA%40mail.gmail.com --- src/backend/access/common/tidstore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/access/common/tidstore.c b/src/backend/access/common/tidstore.c index 745393806d..f79141590e 100644 --- a/src/backend/access/common/tidstore.c +++ b/src/backend/access/common/tidstore.c @@ -130,7 +130,7 @@ TidStoreCreate(size_t max_bytes, dsa_area *area, int tranche_id) ts->context = CurrentMemoryContext; /* choose the maxBlockSize to be no larger than 1/16 of max_bytes */ - while (16 * maxBlockSize > max_bytes * 1024L) + while (16 * maxBlockSize > max_bytes) maxBlockSize >>= 1; if (maxBlockSize < ALLOCSET_DEFAULT_INITSIZE)