Fix portability problem induced by commit a6f6b7819.

pg_xlogdump includes bufmgr.h.  With a compiler that emits code for
static inline functions even when they're unreferenced, that leads
to unresolved external references in the new static-inline version
of BufferGetPage().  So hide it with #ifndef FRONTEND, as we've done
for similar issues elsewhere.  Per buildfarm member pademelon.
This commit is contained in:
Tom Lane 2016-04-15 10:44:28 -04:00
parent ba8fe38f58
commit 6b85d4ba9b
2 changed files with 13 additions and 2 deletions

View File

@ -4299,7 +4299,7 @@ IssuePendingWritebacks(WritebackContext *context)
* For best performance, keep the tests that are fastest and/or most likely to * For best performance, keep the tests that are fastest and/or most likely to
* exclude a page from old snapshot testing near the front. * exclude a page from old snapshot testing near the front.
*/ */
extern void void
TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page) TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page)
{ {
Assert(relation != NULL); Assert(relation != NULL);

View File

@ -252,6 +252,15 @@ extern void FreeAccessStrategy(BufferAccessStrategy strategy);
/* inline functions */ /* inline functions */
/*
* Although this header file is nominally backend-only, certain frontend
* programs like pg_xlogdump include it. For compilers that emit static
* inline functions even when they're unused, that leads to unsatisfied
* external references; hence hide these with #ifndef FRONTEND.
*/
#ifndef FRONTEND
/* /*
* BufferGetPage * BufferGetPage
* Returns the page associated with a buffer. * Returns the page associated with a buffer.
@ -272,4 +281,6 @@ BufferGetPage(Buffer buffer, Snapshot snapshot, Relation relation,
return page; return page;
} }
#endif #endif /* FRONTEND */
#endif /* BUFMGR_H */