From: | Alex Friedman <alexf01(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | A small correction to doc and comment of FSM for indexes |
Date: | 2025-02-25 17:24:14 |
Message-ID: | 71eef655-c192-453f-ac45-2772fec2cb04@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
This patch fixes a couple of small inaccuracies in the doc and the comment for FSM about index handling.
1. In the doc for pg_freespacemap, it currently says:
> For indexes, what is tracked is entirely-unused pages, rather than free space within pages. Therefore, the values are not meaningful, just whether a page is full or empty.
However, as what is tracked is entirely-unused pages, the values mean whether a page is "in-use or empty", rather than "full or empty".
2. In indexfsm.c the header comment says:
> * This is similar to the FSM used for heap, in freespace.c, but instead
> * of tracking the amount of free space on pages, we only track whether
> * pages are completely free or in-use. We use the same FSM implementation
> * as for heaps, using BLCKSZ - 1 to denote used pages, and 0 for unused.
However, in the code we see that used pages are marked with 0:
> /*
> * RecordUsedIndexPage - mark a page as used in the FSM
> */
> void
> RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
> {
> RecordPageWithFreeSpace(rel, usedBlock, 0);
> }
And free pages are marked with BLCKSZ - 1:
> /*
> * RecordFreeIndexPage - mark a page as free in the FSM
> */
> void
> RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
> {
> RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
> }
And so, this patch also fixes the comment's "using BLCKSZ - 1 to denote used pages, and 0 for unused" to be "using 0 to denote used pages, and BLCKSZ - 1 for unused".
While these changes are minor, I've seen how this can cause a bit of confusion, and it would be good to clarify it.
Best regards,
Alex Friedman
Attachment | Content-Type | Size |
---|---|---|
v1-0001-A-small-correction-to-doc-and-comment-of-FSM-for-.patch | text/plain | 1.5 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Treat | 2025-02-25 17:36:40 | Re: Trigger more frequent autovacuums of heavy insert tables |
Previous Message | Jacob Champion | 2025-02-25 17:22:40 | Re: [PoC] Federated Authn/z with OAUTHBEARER |