From fa7ca79c6f4076c61275a71e2e250b84b5c9f7f8 Mon Sep 17 00:00:00 2001 From: Naisila Puka <37271756+naisila@users.noreply.github.com> Date: Mon, 3 Nov 2025 21:39:11 +0300 Subject: [PATCH] Change tupledesc->attrs[n] to TupleDescAttr(tupledesc, n) (#8240) TupleDescAttr is available since PG11. https://github.com/postgres/postgres/commit/2cd7084 PG18 simply forces you to use it, but there is no need to guard it with pg18 version. --- src/backend/columnar/columnar_metadata.c | 10 ++++++---- src/backend/columnar/columnar_tableam.c | 6 +++--- src/include/columnar/columnar_version_compat.h | 8 -------- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/backend/columnar/columnar_metadata.c b/src/backend/columnar/columnar_metadata.c index 159c126f7..52b1082d7 100644 --- a/src/backend/columnar/columnar_metadata.c +++ b/src/backend/columnar/columnar_metadata.c @@ -655,10 +655,12 @@ SaveStripeSkipList(RelFileLocator relfilelocator, uint64 stripe, { values[Anum_columnar_chunk_minimum_value - 1] = PointerGetDatum(DatumToBytea(chunk->minimumValue, - Attr(tupleDescriptor, columnIndex))); + TupleDescAttr(tupleDescriptor, + columnIndex))); values[Anum_columnar_chunk_maximum_value - 1] = PointerGetDatum(DatumToBytea(chunk->maximumValue, - Attr(tupleDescriptor, columnIndex))); + TupleDescAttr(tupleDescriptor, + columnIndex))); } else { @@ -816,9 +818,9 @@ ReadStripeSkipList(RelFileLocator relfilelocator, uint64 stripe, datumArray[Anum_columnar_chunk_maximum_value - 1]); chunk->minimumValue = - ByteaToDatum(minValue, Attr(tupleDescriptor, columnIndex)); + ByteaToDatum(minValue, TupleDescAttr(tupleDescriptor, columnIndex)); chunk->maximumValue = - ByteaToDatum(maxValue, Attr(tupleDescriptor, columnIndex)); + ByteaToDatum(maxValue, TupleDescAttr(tupleDescriptor, columnIndex)); chunk->hasMinMax = true; } diff --git a/src/backend/columnar/columnar_tableam.c b/src/backend/columnar/columnar_tableam.c index 1158005c8..8e3796934 100644 --- a/src/backend/columnar/columnar_tableam.c +++ b/src/backend/columnar/columnar_tableam.c @@ -1012,7 +1012,7 @@ NeededColumnsList(TupleDesc tupdesc, Bitmapset *attr_needed) for (int i = 0; i < tupdesc->natts; i++) { - if (Attr(tupdesc, i)->attisdropped) + if (TupleDescAttr(tupdesc, i)->attisdropped) { continue; } @@ -1255,7 +1255,7 @@ LogRelationStats(Relation rel, int elevel) for (uint32 column = 0; column < skiplist->columnCount; column++) { - bool attrDropped = Attr(tupdesc, column)->attisdropped; + bool attrDropped = TupleDescAttr(tupdesc, column)->attisdropped; for (uint32 chunk = 0; chunk < skiplist->chunkCount; chunk++) { ColumnChunkSkipNode *skipnode = @@ -2638,7 +2638,7 @@ detoast_values(TupleDesc tupleDesc, Datum *orig_values, bool *isnull) for (int i = 0; i < tupleDesc->natts; i++) { - if (!isnull[i] && Attr(tupleDesc, i)->attlen == -1 && + if (!isnull[i] && TupleDescAttr(tupleDesc, i)->attlen == -1 && VARATT_IS_EXTENDED(values[i])) { /* make a copy */ diff --git a/src/include/columnar/columnar_version_compat.h b/src/include/columnar/columnar_version_compat.h index 0aaff6409..be5c3e379 100644 --- a/src/include/columnar/columnar_version_compat.h +++ b/src/include/columnar/columnar_version_compat.h @@ -25,12 +25,4 @@ #define ExplainPropertyLong(qlabel, value, es) \ ExplainPropertyInteger(qlabel, NULL, value, es) - -/* tuple-descriptor attributes moved in PostgreSQL 18: */ -#if PG_VERSION_NUM >= PG_VERSION_18 -#define Attr(tupdesc, colno) TupleDescAttr((tupdesc), (colno)) -#else -#define Attr(tupdesc, colno) (&((tupdesc)->attrs[(colno)])) -#endif - #endif /* COLUMNAR_COMPAT_H */