From 4bc0c80bba5ce3096fa03ab70f41df488c0086f5 Mon Sep 17 00:00:00 2001 From: Halil Ozan Akgul Date: Wed, 11 Aug 2021 15:29:47 +0300 Subject: [PATCH] Adds index_delete_tuples instead of compute_xid_horizon_for_tuples Relevant PG commit: d168b666823b6e0bcf60ed19ce24fb5fb91b8ccf --- src/backend/columnar/columnar_tableam.c | 17 +++++++++++++++++ src/backend/distributed/test/fake_am.c | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/backend/columnar/columnar_tableam.c b/src/backend/columnar/columnar_tableam.c index 65cbc8e8f..43c4d141f 100644 --- a/src/backend/columnar/columnar_tableam.c +++ b/src/backend/columnar/columnar_tableam.c @@ -634,6 +634,16 @@ columnar_tuple_satisfies_snapshot(Relation rel, TupleTableSlot *slot, } +#if PG_VERSION_NUM >= PG_VERSION_14 +static TransactionId +columnar_index_delete_tuples(Relation rel, + TM_IndexDeleteOp *delstate) +{ + elog(ERROR, "columnar_index_delete_tuples not implemented"); +} + + +#else static TransactionId columnar_compute_xid_horizon_for_tuples(Relation rel, ItemPointerData *tids, @@ -643,6 +653,9 @@ columnar_compute_xid_horizon_for_tuples(Relation rel, } +#endif + + static void columnar_tuple_insert(Relation relation, TupleTableSlot *slot, CommandId cid, int options, BulkInsertState bistate) @@ -2096,7 +2109,11 @@ static const TableAmRoutine columnar_am_methods = { .tuple_get_latest_tid = columnar_get_latest_tid, .tuple_tid_valid = columnar_tuple_tid_valid, .tuple_satisfies_snapshot = columnar_tuple_satisfies_snapshot, +#if PG_VERSION_NUM >= PG_VERSION_14 + .index_delete_tuples = columnar_index_delete_tuples, +#else .compute_xid_horizon_for_tuples = columnar_compute_xid_horizon_for_tuples, +#endif .tuple_insert = columnar_tuple_insert, .tuple_insert_speculative = columnar_tuple_insert_speculative, diff --git a/src/backend/distributed/test/fake_am.c b/src/backend/distributed/test/fake_am.c index 39140eab7..ce7784510 100644 --- a/src/backend/distributed/test/fake_am.c +++ b/src/backend/distributed/test/fake_am.c @@ -168,6 +168,17 @@ fake_tuple_satisfies_snapshot(Relation rel, TupleTableSlot *slot, } +#if PG_VERSION_NUM >= PG_VERSION_14 +static TransactionId +fake_index_delete_tuples(Relation rel, + TM_IndexDeleteOp *delstate) +{ + elog(ERROR, "fake_index_delete_tuples not implemented"); + return InvalidTransactionId; +} + + +#else static TransactionId fake_compute_xid_horizon_for_tuples(Relation rel, ItemPointerData *tids, @@ -178,6 +189,9 @@ fake_compute_xid_horizon_for_tuples(Relation rel, } +#endif + + /* ---------------------------------------------------------------------------- * Functions for manipulations of physical tuples for fake AM. * ---------------------------------------------------------------------------- @@ -556,7 +570,11 @@ static const TableAmRoutine fake_methods = { .tuple_get_latest_tid = fake_get_latest_tid, .tuple_tid_valid = fake_tuple_tid_valid, .tuple_satisfies_snapshot = fake_tuple_satisfies_snapshot, +#if PG_VERSION_NUM >= PG_VERSION_14 + .index_delete_tuples = fake_index_delete_tuples, +#else .compute_xid_horizon_for_tuples = fake_compute_xid_horizon_for_tuples, +#endif .relation_set_new_filenode = fake_relation_set_new_filenode, .relation_nontransactional_truncate = fake_relation_nontransactional_truncate,