From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Some RELKIND macro refactoring |
Date: | 2021-08-25 13:31:46 |
Message-ID: | 202108251331.6jfqss3vfrtv@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2021-Aug-25, Michael Paquier wrote:
> On Tue, Aug 24, 2021 at 12:01:33PM +0200, Peter Eisentraut wrote:
> > While analyzing this again, I think I found an existing mistake. The
> > handling of RELKIND_PARTITIONED_INDEX in RelationGetNumberOfBlocksInFork()
> > seems to be misplaced. See attached patch.
Agreed, that's a mistake.
> Right. This maps with RELKIND_HAS_STORAGE(). Makes me wonder whether
> is would be better to add a check on RELKIND_HAS_STORAGE() in this
> area, even if that's basically the same as the Assert() already used
> in this code path.
Well, the patch replaces the switch on individual relkind values with if
tests on RELKIND_HAS_FOO macros. I suppose we'd have
Assert(RELKIND_HAS_STORAGE(relkind));
so the function would not even be called for partitioned indexes. (In a
quick scan of 'git grep RelationGetNumberOfBlocks' I see nothing that
would obviously call this function on a partitioned index.)
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
"XML!" Exclaimed C++. "What are you doing here? You're not a programming
language."
"Tell that to the people who use me," said XML.
https://burningbird.net/the-parable-of-the-languages/
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2021-08-25 13:39:24 | Re: Parallel scan with SubTransGetTopmostTransaction assert coredump |
Previous Message | Fujii Masao | 2021-08-25 13:21:36 | Re: [PATCH] document |