From 694b4ab33b24dfe1f9cc00fbbd5326f0feadee4a Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 18 Nov 2025 15:46:43 +0900 Subject: [PATCH] pg_buffercache: Fix incorrect result cast for relforknumber pg_buffercache_pages.relforknumber is defined as an int2, but its value was stored with ObjectIdGetDatum() rather than Int16GetDatum() in the result record. Author: Ashutosh Bapat Discussion: https://postgr.es/m/CAExHW5s2_qwSdhKpVnUzjRMf0cf1PvmhUHQDLaFM3QzKbP1OyQ@mail.gmail.com --- contrib/pg_buffercache/pg_buffercache_pages.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/pg_buffercache/pg_buffercache_pages.c b/contrib/pg_buffercache/pg_buffercache_pages.c index ab790533ff6..c29b784dfa1 100644 --- a/contrib/pg_buffercache/pg_buffercache_pages.c +++ b/contrib/pg_buffercache/pg_buffercache_pages.c @@ -263,7 +263,7 @@ pg_buffercache_pages(PG_FUNCTION_ARGS) nulls[2] = false; values[3] = ObjectIdGetDatum(fctx->record[i].reldatabase); nulls[3] = false; - values[4] = ObjectIdGetDatum(fctx->record[i].forknum); + values[4] = Int16GetDatum(fctx->record[i].forknum); nulls[4] = false; values[5] = Int64GetDatum((int64) fctx->record[i].blocknum); nulls[5] = false;