On Sat, Mar 18, 2023 at 12:34 PM Xiaoran Wang <wxiaoran@vmware.com> wrote: > > Hi hackers, > > In heap_create_with_catalog, the Relation new_rel_desc is created > by RelationBuildLocalRelation, not table_open. So it's better to > call RelationClose to release it. > > What's more, the comment for it seems useless, just delete it.
Essentially, all the close functions are the same with NoLock, IOW, table_close(relation, NoLock) = relation_closerelation, NoLock) = RelationClose(relation). Therefore, table_close(new_rel_desc, NoLock); looks fine to me.
Agreed.
And, the /* do not unlock till end of xact */, it looks like it's been there from day 1. It may be indicating that the ref count fo the new relation created in heap_create_with_catalog() will be decremented at the end of xact, but I'm not sure what it means.
Me too
-- Bharath Rupireddy PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com