mirror of
https://github.com/postgres/postgres.git
synced 2025-09-08 00:47:37 +03:00
Use static inline function for BufferGetPage()
I was initially concerned that the some of the hundreds of references to BufferGetPage() where the literal BGP_NO_SNAPSHOT_TEST were passed might not optimize as well as a macro, leading to some hard-to-find performance regressions in corner cases. Inspection of disassembled code has shown identical code at all inspected locations, and the size difference doesn't amount to even one byte per such call. So make it readable. Per gripes from Álvaro Herrera and Tom Lane
This commit is contained in:
@@ -4295,7 +4295,7 @@ IssuePendingWritebacks(WritebackContext *context)
|
||||
* For best performance, keep the tests that are fastest and/or most likely to
|
||||
* exclude a page from old snapshot testing near the front.
|
||||
*/
|
||||
extern Page
|
||||
extern void
|
||||
TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page)
|
||||
{
|
||||
Assert(relation != NULL);
|
||||
@@ -4311,6 +4311,4 @@ TestForOldSnapshot(Snapshot snapshot, Relation relation, Page page)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SNAPSHOT_TOO_OLD),
|
||||
errmsg("snapshot too old")));
|
||||
|
||||
return page;
|
||||
}
|
||||
|
Reference in New Issue
Block a user