Use platform independent type for TupleTableSlot->tts_off.
Previously tts_off was, for unknown reasons, of type long. For one that's unnecessary as tuples are restricted in length, for another long would be a bad choice of type even if that weren't the case, as it's not reliably wider than an int. Also HeapTupleHeader->t_len is a uint32. This is split off from a larger patch implementing JITed tuple deforming. Seems like an independent improvement, as tiny as it is. Author: Andres Freund
This commit is contained in:
parent
c2ff42c6c1
commit
4c0ec9ee28
@ -942,7 +942,7 @@ heap_deform_tuple(HeapTuple tuple, TupleDesc tupleDesc,
|
||||
int natts; /* number of atts to extract */
|
||||
int attnum;
|
||||
char *tp; /* ptr to tuple data */
|
||||
long off; /* offset in tuple data */
|
||||
uint32 off; /* offset in tuple data */
|
||||
bits8 *bp = tup->t_bits; /* ptr to null bitmap in tuple */
|
||||
bool slow = false; /* can we use/set attcacheoff? */
|
||||
|
||||
@ -1043,7 +1043,7 @@ slot_deform_tuple(TupleTableSlot *slot, int natts)
|
||||
bool hasnulls = HeapTupleHasNulls(tuple);
|
||||
int attnum;
|
||||
char *tp; /* ptr to tuple data */
|
||||
long off; /* offset in tuple data */
|
||||
uint32 off; /* offset in tuple data */
|
||||
bits8 *bp = tup->t_bits; /* ptr to null bitmap in tuple */
|
||||
bool slow; /* can we use/set attcacheoff? */
|
||||
|
||||
|
@ -126,7 +126,7 @@ typedef struct TupleTableSlot
|
||||
bool *tts_isnull; /* current per-attribute isnull flags */
|
||||
MinimalTuple tts_mintuple; /* minimal tuple, or NULL if none */
|
||||
HeapTupleData tts_minhdr; /* workspace for minimal-tuple-only case */
|
||||
long tts_off; /* saved state for slot_deform_tuple */
|
||||
uint32 tts_off; /* saved state for slot_deform_tuple */
|
||||
bool tts_fixedTupleDescriptor; /* descriptor can't be changed */
|
||||
} TupleTableSlot;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user