pageinspect: Use better macros to get special page area for GIN and GiST
authorMichael Paquier <michael@paquier.xyz>
Sat, 2 Apr 2022 02:27:20 +0000 (11:27 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sat, 2 Apr 2022 02:27:20 +0000 (11:27 +0900)
These five code paths are the last ones that made use of
PageGetSpecialPointer() to get the special area of such pages, while
those index AMs have already macros to do this job.

Noticed while reviewing the use PageGetSpecialPointer() in the whole
tree, in relation to the recent commit d16773c.

contrib/pageinspect/ginfuncs.c
contrib/pageinspect/gistfuncs.c

index 7ad6d2d3bdde99849d58d36a7281a021561eeeb1..1c56fa18cdcbc4e1b9812893b85e8f9173893000 100644 (file)
@@ -57,7 +57,7 @@ gin_metapage_info(PG_FUNCTION_ARGS)
                                                   (int) MAXALIGN(sizeof(GinPageOpaqueData)),
                                                   (int) PageGetSpecialSize(page))));
 
-       opaq = (GinPageOpaque) PageGetSpecialPointer(page);
+       opaq = GinPageGetOpaque(page);
        if (opaq->flags != GIN_META)
                ereport(ERROR,
                                (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -123,7 +123,7 @@ gin_page_opaque_info(PG_FUNCTION_ARGS)
                                                   (int) MAXALIGN(sizeof(GinPageOpaqueData)),
                                                   (int) PageGetSpecialSize(page))));
 
-       opaq = (GinPageOpaque) PageGetSpecialPointer(page);
+       opaq = GinPageGetOpaque(page);
 
        /* Build a tuple descriptor for our result type */
        if (get_call_result_type(fcinfo, NULL, &tupdesc) != TYPEFUNC_COMPOSITE)
@@ -208,7 +208,7 @@ gin_leafpage_items(PG_FUNCTION_ARGS)
                                                           (int) MAXALIGN(sizeof(GinPageOpaqueData)),
                                                           (int) PageGetSpecialSize(page))));
 
-               opaq = (GinPageOpaque) PageGetSpecialPointer(page);
+               opaq = GinPageGetOpaque(page);
                if (opaq->flags != (GIN_DATA | GIN_LEAF | GIN_COMPRESSED))
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
index 6bb81ffb840860c716c2ccf6428b49d0aec1ae89..b2bbf4f6cbc9f7ba23e9b06155a1a8a354f611f1 100644 (file)
@@ -64,7 +64,7 @@ gist_page_opaque_info(PG_FUNCTION_ARGS)
                                                           (int) MAXALIGN(sizeof(GISTPageOpaqueData)),
                                                           (int) PageGetSpecialSize(page))));
 
-       opaq = (GISTPageOpaque) PageGetSpecialPointer(page);
+       opaq = GistPageGetOpaque(page);
        if (opaq->gist_page_id != GIST_PAGE_ID)
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
@@ -139,7 +139,7 @@ gist_page_items_bytea(PG_FUNCTION_ARGS)
                                                           (int) MAXALIGN(sizeof(GISTPageOpaqueData)),
                                                           (int) PageGetSpecialSize(page))));
 
-       opaq = (GISTPageOpaque) PageGetSpecialPointer(page);
+       opaq = GistPageGetOpaque(page);
        if (opaq->gist_page_id != GIST_PAGE_ID)
                        ereport(ERROR,
                                        (errcode(ERRCODE_INVALID_PARAMETER_VALUE),