Commit 4fbf809e authored by Tom Lane's avatar Tom Lane

In transam.h, don't expose static inline functions to frontend code.

That leads to unsatisfied external references if the C compiler fails
to elide unused static functions.  Apparently, we have no buildfarm
members building HEAD that have that issue ... but such compilers still
exist in the wild.  Need to do something about that.

In passing, fix Berkeley-era typo in comment.

Discussion: https://postgr.es/m/27054.1558533367@sss.pgh.pa.us
parent b8c6014a
...@@ -231,6 +231,13 @@ extern void AdvanceOldestClogXid(TransactionId oldest_datfrozenxid); ...@@ -231,6 +231,13 @@ extern void AdvanceOldestClogXid(TransactionId oldest_datfrozenxid);
extern bool ForceTransactionIdLimitUpdate(void); extern bool ForceTransactionIdLimitUpdate(void);
extern Oid GetNewObjectId(void); extern Oid GetNewObjectId(void);
/*
* Some frontend programs include this header. For compilers that emit static
* inline functions even when they're unused, that leads to unsatisfied
* external references; hence hide them with #ifndef FRONTEND.
*/
#ifndef FRONTEND
/* /*
* For callers that just need the XID part of the next transaction ID. * For callers that just need the XID part of the next transaction ID.
*/ */
...@@ -240,4 +247,6 @@ ReadNewTransactionId(void) ...@@ -240,4 +247,6 @@ ReadNewTransactionId(void)
return XidFromFullTransactionId(ReadNextFullTransactionId()); return XidFromFullTransactionId(ReadNextFullTransactionId());
} }
#endif /* TRAMSAM_H */ #endif /* FRONTEND */
#endif /* TRANSAM_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment