Fix portability bug in gin_page_opaque_info().
authorTom Lane
Wed, 2 Nov 2016 04:09:28 +0000 (00:09 -0400)
committerTom Lane
Wed, 2 Nov 2016 04:09:28 +0000 (00:09 -0400)
Somebody apparently thought that "if Int32GetDatum is good,
Int64GetDatum must be better".  Per buildfarm failures now
that Peter has added some regression tests here.

contrib/pageinspect/ginfuncs.c

index c0de3be8df89b08ab52f3e384fb03813b3c6e312..5489206ff53884d26c6e5945e113667eaa2b67e3 100644 (file)
@@ -100,7 +100,7 @@ gin_page_opaque_info(PG_FUNCTION_ARGS)
    GinPageOpaque opaq;
    HeapTuple   resultTuple;
    Datum       values[3];
-   bool        nulls[10];
+   bool        nulls[3];
    Datum       flags[16];
    int         nflags = 0;
    uint16      flagbits;
@@ -152,9 +152,9 @@ gin_page_opaque_info(PG_FUNCTION_ARGS)
    memset(nulls, 0, sizeof(nulls));
 
    values[0] = Int64GetDatum(opaq->rightlink);
-   values[1] = Int64GetDatum(opaq->maxoff);
-   values[2] = PointerGetDatum(
-                   construct_array(flags, nflags, TEXTOID, -1, false, 'i'));
+   values[1] = Int32GetDatum(opaq->maxoff);
+   values[2] = PointerGetDatum(construct_array(flags, nflags,
+                                               TEXTOID, -1, false, 'i'));
 
    /* Build and return the result tuple. */
    resultTuple = heap_form_tuple(tupdesc, values, nulls);