summaryrefslogtreecommitdiff
path: root/contrib/pageinspect/rawpage.c
diff options
context:
space:
mode:
authorPeter Eisentraut2022-07-11 05:20:35 +0000
committerPeter Eisentraut2022-07-11 05:21:52 +0000
commit2cd2569c72b8920048e35c31c9be30a6170e1410 (patch)
tree4301fc14ecbd9a2eba1579733fff3932babc226e /contrib/pageinspect/rawpage.c
parenteed959a457ea0ffb042f4881e23358ba145d148c (diff)
Convert macros to static inline functions (bufpage.h)
Remove PageIsValid() and PageSizeIsValid(), which weren't used and seem unnecessary. Some code using these formerly-macros needs some adjustments because it was previously playing loose with the Page vs. PageHeader types, which is no longer possible with the functions instead of macros. Reviewed-by: Amul Sul <sulamul@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/5b558da8-99fb-0a99-83dd-f72f05388517%40enterprisedb.com
Diffstat (limited to 'contrib/pageinspect/rawpage.c')
-rw-r--r--contrib/pageinspect/rawpage.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c
index 730a46b1d84..90942be71e8 100644
--- a/contrib/pageinspect/rawpage.c
+++ b/contrib/pageinspect/rawpage.c
@@ -254,7 +254,8 @@ page_header(PG_FUNCTION_ARGS)
Datum values[9];
bool nulls[9];
- PageHeader page;
+ Page page;
+ PageHeader pageheader;
XLogRecPtr lsn;
if (!superuser())
@@ -262,7 +263,8 @@ page_header(PG_FUNCTION_ARGS)
(errcode(ERRCODE_INSUFFICIENT_PRIVILEGE),
errmsg("must be superuser to use raw page functions")));
- page = (PageHeader) get_page_from_raw(raw_page);
+ page = get_page_from_raw(raw_page);
+ pageheader = (PageHeader) page;
/* Build a tuple descriptor for our result type */
if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE)
@@ -282,8 +284,8 @@ page_header(PG_FUNCTION_ARGS)
}
else
values[0] = LSNGetDatum(lsn);
- values[1] = UInt16GetDatum(page->pd_checksum);
- values[2] = UInt16GetDatum(page->pd_flags);
+ values[1] = UInt16GetDatum(pageheader->pd_checksum);
+ values[2] = UInt16GetDatum(pageheader->pd_flags);
/* pageinspect >= 1.10 uses int4 instead of int2 for those fields */
switch (TupleDescAttr(tupdesc, 3)->atttypid)
@@ -292,18 +294,18 @@ page_header(PG_FUNCTION_ARGS)
Assert(TupleDescAttr(tupdesc, 4)->atttypid == INT2OID &&
TupleDescAttr(tupdesc, 5)->atttypid == INT2OID &&
TupleDescAttr(tupdesc, 6)->atttypid == INT2OID);
- values[3] = UInt16GetDatum(page->pd_lower);
- values[4] = UInt16GetDatum(page->pd_upper);
- values[5] = UInt16GetDatum(page->pd_special);
+ values[3] = UInt16GetDatum(pageheader->pd_lower);
+ values[4] = UInt16GetDatum(pageheader->pd_upper);
+ values[5] = UInt16GetDatum(pageheader->pd_special);
values[6] = UInt16GetDatum(PageGetPageSize(page));
break;
case INT4OID:
Assert(TupleDescAttr(tupdesc, 4)->atttypid == INT4OID &&
TupleDescAttr(tupdesc, 5)->atttypid == INT4OID &&
TupleDescAttr(tupdesc, 6)->atttypid == INT4OID);
- values[3] = Int32GetDatum(page->pd_lower);
- values[4] = Int32GetDatum(page->pd_upper);
- values[5] = Int32GetDatum(page->pd_special);
+ values[3] = Int32GetDatum(pageheader->pd_lower);
+ values[4] = Int32GetDatum(pageheader->pd_upper);
+ values[5] = Int32GetDatum(pageheader->pd_special);
values[6] = Int32GetDatum(PageGetPageSize(page));
break;
default:
@@ -312,7 +314,7 @@ page_header(PG_FUNCTION_ARGS)
}
values[7] = UInt16GetDatum(PageGetPageLayoutVersion(page));
- values[8] = TransactionIdGetDatum(page->pd_prune_xid);
+ values[8] = TransactionIdGetDatum(pageheader->pd_prune_xid);
/* Build and return the tuple. */