aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-02-20 15:12:52 -0800
committerAndres Freund <andres@anarazel.de>2018-02-20 15:12:52 -0800
commit4c0ec9ee28279cc6a610cde8470fc8b606267b68 (patch)
treefc824b122343d616b55c3161f2dfa2b1358828b1
parentc2ff42c6c1631c6c67d09fc8574186a984566a0d (diff)
downloadpostgresql-4c0ec9ee28279cc6a610cde8470fc8b606267b68.tar.gz
postgresql-4c0ec9ee28279cc6a610cde8470fc8b606267b68.zip
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
-rw-r--r--src/backend/access/common/heaptuple.c4
-rw-r--r--src/include/executor/tuptable.h2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c
index 0a13251067f..a2f67f2332c 100644
--- a/src/backend/access/common/heaptuple.c
+++ b/src/backend/access/common/heaptuple.c
@@ -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? */
diff --git a/src/include/executor/tuptable.h b/src/include/executor/tuptable.h
index 8be0d5edc29..0642a3ada5e 100644
--- a/src/include/executor/tuptable.h
+++ b/src/include/executor/tuptable.h
@@ -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;