From a4b1973a541b8f1e7b30d82804a2d30125eddc39 Mon Sep 17 00:00:00 2001 From: mkaruza Date: Fri, 8 Dec 2023 17:28:39 +0100 Subject: [PATCH] [columnar] PG16 compatibility after custom index scan feature (#210) fixes #209 --- columnar/src/backend/columnar/columnar.c | 2 +- columnar/src/backend/columnar/columnar_tableam.c | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/columnar/src/backend/columnar/columnar.c b/columnar/src/backend/columnar/columnar.c index b89e042..caaf3ba 100644 --- a/columnar/src/backend/columnar/columnar.c +++ b/columnar/src/backend/columnar/columnar.c @@ -203,7 +203,7 @@ columnar_guc_init() &columnar_index_scan, false, PGC_USERSET, - GUC_NO_SHOW_ALL, + GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE, NULL, NULL, NULL); diff --git a/columnar/src/backend/columnar/columnar_tableam.c b/columnar/src/backend/columnar/columnar_tableam.c index 2ed3bb7..87213f1 100644 --- a/columnar/src/backend/columnar/columnar_tableam.c +++ b/columnar/src/backend/columnar/columnar_tableam.c @@ -523,7 +523,11 @@ columnar_index_fetch_begin(Relation rel) IndexFetchTableData * columnar_index_fetch_begin_extended(Relation rel, Bitmapset *attr_needed) { +#if PG_VERSION_NUM >= PG_VERSION_16 + Oid relfilenode = rel->rd_locator.relNumber; +#else Oid relfilenode = rel->rd_node.relNode; +#endif if (PendingWritesInUpperTransactions(relfilenode, GetCurrentSubTransactionId())) { /* XXX: maybe we can just flush the data and continue */ @@ -661,8 +665,14 @@ columnar_index_fetch_tuple(struct IndexFetchTableData *sscan, snapshot, randomAccess, NULL); if (scan->is_select_query) +#if PG_VERSION_NUM >= PG_VERSION_16 + scan->stripeMetadataList = + StripesForRelfilenode(columnarRelation->rd_locator, ForwardScanDirection); +#else scan->stripeMetadataList = StripesForRelfilenode(columnarRelation->rd_node, ForwardScanDirection); +#endif + } uint64 rowNumber = tid_to_row_number(*tid);