postgrespro.git / summary / log / commit / refs
commit 96c702c1edbde8a3f5013bd0ac6c25c85710258d
Author: Stephen Frost <sfrost@snowman.net>
Date: Mon Dec 10 14:31:38 2018 +0000
Remove dead code in toast_fetch_datum_slice
In toast_fetch_datum_slice(), we Assert() that what is passed in isn't
compressed, but we then later had a check to see what the length of if
what was passed in is compressed. That later check is rather confusing
since toast_fetch_datum_slice() is only ever called with non-compressed
datums and the Assert() earlier makes it clear that one shouldn't be
passing in compressed datums.
Add a comment to make it clear that toast_fetch_datum_slice() is just
for non-compressed datums, and remove the dead code.
src/backend/access/heap/tuptoaster.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/backend/access/heap/tuptoaster.c b/src/backend/access/heap/tuptoaster.c
index fdbaf38126..d1dad998d2 100644
--- a/src/backend/access/heap/tuptoaster.c
+++ b/src/backend/access/heap/tuptoaster.c
@@ -2026,6 +2026,8 @@ toast_fetch_datum(struct varlena *attr)
*
* Reconstruct a segment of a Datum from the chunks saved
* in the toast relation
+ *
+ * Note that this function only supports non-compressed external datums.
* ----------
*/
static struct varlena *
@@ -2085,10 +2087,7 @@ toast_fetch_datum_slice(struct varlena *attr, int32 sliceoffset, int32 length)
result = (struct varlena *) palloc(length + VARHDRSZ);
- if (VARATT_EXTERNAL_IS_COMPRESSED(toast_pointer))
- SET_VARSIZE_COMPRESSED(result, length + VARHDRSZ);
- else
- SET_VARSIZE(result, length + VARHDRSZ);
+ SET_VARSIZE(result, length + VARHDRSZ);
if (length == 0)
return result; /* Can save a lot of work at this point! */
[parent: 6d8727f95e70]