diff options
author | Andres Freund | 2019-11-08 08:44:52 +0000 |
---|---|---|
committer | Andres Freund | 2019-11-08 19:49:29 +0000 |
commit | aae50236e4ce95c05a3962be0814c74c5a22206d (patch) | |
tree | ab040612da65567def53a6ee17db9b0b54f3037d /contrib | |
parent | 71a8a4f6e36547bb060dbcc961ea9b57420f7190 (diff) |
Pass ItemPointer not HeapTuple to IndexBuildCallback.
Not all AMs use HeapTuples internally, making it inconvenient to pass
a HeapTuple. As the index callbacks really only need the TID, not the
full tuple, modify callback to only take ItemPointer.
Author: Ashwin Agrawal
Reviewed-By: Andres Freund
Discussion: https://postgr.es/m/CALfoeis6=8ehuR=VNtHvj3z16cYfCwPdTcpaxU+sfSUJ5QgR3g@mail.gmail.com
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/amcheck/verify_nbtree.c | 6 | ||||
-rw-r--r-- | contrib/bloom/blinsert.c | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c index 05e7d678ed4..3542545de56 100644 --- a/contrib/amcheck/verify_nbtree.c +++ b/contrib/amcheck/verify_nbtree.c @@ -140,7 +140,7 @@ static BTScanInsert bt_right_page_check_scankey(BtreeCheckState *state); static void bt_downlink_check(BtreeCheckState *state, BTScanInsert targetkey, BlockNumber childblock); static void bt_downlink_missing_check(BtreeCheckState *state); -static void bt_tuple_present_callback(Relation index, HeapTuple htup, +static void bt_tuple_present_callback(Relation index, ItemPointer tid, Datum *values, bool *isnull, bool tupleIsAlive, void *checkstate); static IndexTuple bt_normalize_tuple(BtreeCheckState *state, @@ -1890,7 +1890,7 @@ bt_downlink_missing_check(BtreeCheckState *state) * also allows us to detect the corruption in many cases. */ static void -bt_tuple_present_callback(Relation index, HeapTuple htup, Datum *values, +bt_tuple_present_callback(Relation index, ItemPointer tid, Datum *values, bool *isnull, bool tupleIsAlive, void *checkstate) { BtreeCheckState *state = (BtreeCheckState *) checkstate; @@ -1901,7 +1901,7 @@ bt_tuple_present_callback(Relation index, HeapTuple htup, Datum *values, /* Generate a normalized index tuple for fingerprinting */ itup = index_form_tuple(RelationGetDescr(index), values, isnull); - itup->t_tid = htup->t_self; + itup->t_tid = *tid; norm = bt_normalize_tuple(state, itup); /* Probe Bloom filter -- tuple should be present */ diff --git a/contrib/bloom/blinsert.c b/contrib/bloom/blinsert.c index 30d17f501db..adcbd168fb6 100644 --- a/contrib/bloom/blinsert.c +++ b/contrib/bloom/blinsert.c @@ -72,7 +72,7 @@ initCachedPage(BloomBuildState *buildstate) * Per-tuple callback for table_index_build_scan. */ static void -bloomBuildCallback(Relation index, HeapTuple htup, Datum *values, +bloomBuildCallback(Relation index, ItemPointer tid, Datum *values, bool *isnull, bool tupleIsAlive, void *state) { BloomBuildState *buildstate = (BloomBuildState *) state; @@ -81,7 +81,7 @@ bloomBuildCallback(Relation index, HeapTuple htup, Datum *values, oldCtx = MemoryContextSwitchTo(buildstate->tmpCtx); - itup = BloomFormTuple(&buildstate->blstate, &htup->t_self, values, isnull); + itup = BloomFormTuple(&buildstate->blstate, tid, values, isnull); /* Try to add next item to cached page */ if (BloomPageAddItem(&buildstate->blstate, buildstate->data.data, itup)) |