diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2021-08-26 08:48:07 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2021-08-26 08:59:32 +0200 |
commit | 0d906b2c0b1f0d625ff63d9ace906556b1c66a68 (patch) | |
tree | db4ea09b7c13696b69d0624d466d58d9f55ce44e /src/backend/storage/buffer/bufmgr.c | |
parent | 78ab944cd4b9977732becd9d0bc83223b88af9a2 (diff) | |
download | postgresql-0d906b2c0b1f0d625ff63d9ace906556b1c66a68.tar.gz postgresql-0d906b2c0b1f0d625ff63d9ace906556b1c66a68.zip |
Fix handling of partitioned index in RelationGetNumberOfBlocksInFork()
Since a partitioned index doesn't have storage, getting the number of
blocks from it will not give sensible results. Existing callers
already check that they don't call it that way, so there doesn't
appear to be a live problem. But for correctness, handle
RELKIND_PARTITIONED_INDEX together with the other non-storage
relkinds.
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Alvaro Herrera <alvherre@alvh.no-ip.org>
Discussion: https://www.postgresql.org/message-id/1d3a5fbe-f48b-8bea-80da-9a5c4244aef9@enterprisedb.com
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r-- | src/backend/storage/buffer/bufmgr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 3b485de067f..bc1753ae916 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -2929,7 +2929,6 @@ RelationGetNumberOfBlocksInFork(Relation relation, ForkNumber forkNum) { case RELKIND_SEQUENCE: case RELKIND_INDEX: - case RELKIND_PARTITIONED_INDEX: return smgrnblocks(RelationGetSmgr(relation), forkNum); case RELKIND_RELATION: @@ -2951,6 +2950,7 @@ RelationGetNumberOfBlocksInFork(Relation relation, ForkNumber forkNum) case RELKIND_VIEW: case RELKIND_COMPOSITE_TYPE: case RELKIND_FOREIGN_TABLE: + case RELKIND_PARTITIONED_INDEX: case RELKIND_PARTITIONED_TABLE: default: Assert(false); |