getattr-null-tests.patch
text/x-patch
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/include/access/htup.h | 6 | 3 |
diff --git a/src/include/access/htup.h b/src/include/access/htup.h index a42782e..725b220 100644 --- a/src/include/access/htup.h +++ b/src/include/access/htup.h @@ -755,6 +755,8 @@ extern void HeapTupleHeaderAdjustCmax(HeapTupleHeader tup, * * This gets called many times, so we macro the cacheable and NULL * lookups, and call nocachegetattr() for the rest. + * + * isnull must not be a NULL pointer, as we don't test for that. * ---------------- */ @@ -763,7 +765,7 @@ extern void HeapTupleHeaderAdjustCmax(HeapTupleHeader tup, #define fastgetattr(tup, attnum, tupleDesc, isnull) \ ( \ AssertMacro((attnum) > 0), \ - (((isnull) != NULL) ? (*(isnull) = false) : (dummyret)NULL), \ + (*(isnull) = false), \ HeapTupleNoNulls(tup) ? \ ( \ (tupleDesc)->attrs[(attnum)-1]->attcacheoff >= 0 ? \ @@ -779,7 +781,7 @@ extern void HeapTupleHeaderAdjustCmax(HeapTupleHeader tup, ( \ att_isnull((attnum)-1, (tup)->t_data->t_bits) ? \ ( \ - (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \ + (*(isnull) = true), \ (Datum)NULL \ ) \ : \ @@ -804,6 +806,7 @@ extern Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, * * If the field in question has a NULL value, we return a zero Datum * and set *isnull == true. Otherwise, we set *isnull == false. + * isnull must not be a NULL pointer, as we don't test for that. * * <tup> is the pointer to the heap tuple. <attnum> is the attribute * number of the column (field) caller wants. <tupleDesc> is a @@ -818,7 +821,7 @@ extern Datum fastgetattr(HeapTuple tup, int attnum, TupleDesc tupleDesc, ( \ ((attnum) > (int) HeapTupleHeaderGetNatts((tup)->t_data)) ? \ ( \ - (((isnull) != NULL) ? (*(isnull) = true) : (dummyret)NULL), \ + (*(isnull) = true), \ (Datum)NULL \ ) \ : \