Fix portability bug in gin_page_opaque_info().
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Nov 2016 04:09:27 +0000 (00:09 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Nov 2016 04:09:27 +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 a2f119b02e5545677e62164432532e5dcd811ab8..145e2ce709cc6d3a8732ebd4d89a3023165599de 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);