Convert macros to static inline functions (rel.h)

Reviewed-by: Amul Sul <sulamul@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/5b558da8-99fb-0a99-83dd-f72f05388517%40enterprisedb.com
This commit is contained in:
Peter Eisentraut 2022-10-07 16:06:59 +02:00
parent f14aad5169
commit 3edc71ec04
1 changed files with 10 additions and 11 deletions

View File

@ -572,22 +572,21 @@ RelationGetSmgr(Relation rel)
smgrsetowner(&(rel->rd_smgr), smgropen(rel->rd_locator, rel->rd_backend));
return rel->rd_smgr;
}
#endif
/*
* RelationCloseSmgr
* Close the relation at the smgr level, if not already done.
*
* Note: smgrclose should unhook from owner pointer, hence the Assert.
*/
#define RelationCloseSmgr(relation) \
do { \
if ((relation)->rd_smgr != NULL) \
{ \
smgrclose((relation)->rd_smgr); \
Assert((relation)->rd_smgr == NULL); \
} \
} while (0)
static inline void
RelationCloseSmgr(Relation relation)
{
if (relation->rd_smgr != NULL)
smgrclose(relation->rd_smgr);
/* smgrclose should unhook from owner pointer */
Assert(relation->rd_smgr == NULL);
}
#endif /* !FRONTEND */
/*
* RelationGetTargetBlock