Fix: the 'smgropen' in the 'calculate_relation_size' function may return an incorrect 'smgrRelation' #518
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
steps to reproduce:
postgres=# create table sa(a int) partition by range(a);
CREATE TABLE
postgres=# create unlogged table sb(b int) partition by range(b);
CREATE TABLE
postgres=# select pg_relation_size('sa'), pg_relation_size('sb');
ERROR: relpersistence mismatch: smgropen u vs SmgrRelation p
For a partitioned table, the relfilenode of its parent table is always 0 ; 'smgropen' in function 'calculate_relation_size' may get incorrect 'smgrRelation' due to 'SMgrRelationHash'.