diff --git a/CHANGELOG.md b/CHANGELOG.md index 72e765f2d..a63d6542e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,7 +36,7 @@ * Fixes potential memory corruptions that could happen when accessing various catalog tables after a Citus downgrade is followed by a Citus - upgrade (#7950, #8120, #8124, #8121, #8114) + upgrade (#7950, #8120, #8124, #8121, #8114, #8146) * Fixes UPDATE statements with indirection and array/jsonb subscripting with more than one field (#7675) diff --git a/src/backend/columnar/columnar_metadata.c b/src/backend/columnar/columnar_metadata.c index ef895d3b2..e9f577690 100644 --- a/src/backend/columnar/columnar_metadata.c +++ b/src/backend/columnar/columnar_metadata.c @@ -2132,7 +2132,7 @@ GetHighestUsedRowNumber(uint64 storageId) static int GetFirstRowNumberAttrIndexInColumnarStripe(TupleDesc tupleDesc) { - return TupleDescSize(tupleDesc) == Natts_columnar_stripe + return tupleDesc->natts == Natts_columnar_stripe ? (Anum_columnar_stripe_first_row_number - 1) : tupleDesc->natts - 1; } diff --git a/src/backend/distributed/metadata/distobject.c b/src/backend/distributed/metadata/distobject.c index bc23e7163..8687a9919 100644 --- a/src/backend/distributed/metadata/distobject.c +++ b/src/backend/distributed/metadata/distobject.c @@ -801,7 +801,7 @@ DistributedSequenceList(void) int GetForceDelegationAttrIndexInPgDistObject(TupleDesc tupleDesc) { - return TupleDescSize(tupleDesc) == Natts_pg_dist_object + return tupleDesc->natts == Natts_pg_dist_object ? (Anum_pg_dist_object_force_delegation - 1) : tupleDesc->natts - 1; } diff --git a/src/backend/distributed/metadata/metadata_utility.c b/src/backend/distributed/metadata/metadata_utility.c index b84260f9e..1fb3d6fd0 100644 --- a/src/backend/distributed/metadata/metadata_utility.c +++ b/src/backend/distributed/metadata/metadata_utility.c @@ -4486,7 +4486,7 @@ UnblockDependingBackgroundTasks(BackgroundTask *task) int GetAutoConvertedAttrIndexInPgDistPartition(TupleDesc tupleDesc) { - return TupleDescSize(tupleDesc) == Natts_pg_dist_partition + return tupleDesc->natts == Natts_pg_dist_partition ? (Anum_pg_dist_partition_autoconverted - 1) : tupleDesc->natts - 1; } @@ -4506,7 +4506,7 @@ GetAutoConvertedAttrIndexInPgDistPartition(TupleDesc tupleDesc) int GetNodesInvolvedAttrIndexInPgDistBackgroundTask(TupleDesc tupleDesc) { - return TupleDescSize(tupleDesc) == Natts_pg_dist_background_task + return tupleDesc->natts == Natts_pg_dist_background_task ? (Anum_pg_dist_background_task_nodes_involved - 1) : tupleDesc->natts - 1; } diff --git a/src/backend/distributed/transaction/transaction_recovery.c b/src/backend/distributed/transaction/transaction_recovery.c index 1f8ba949e..260e91b56 100644 --- a/src/backend/distributed/transaction/transaction_recovery.c +++ b/src/backend/distributed/transaction/transaction_recovery.c @@ -685,7 +685,7 @@ DeleteWorkerTransactions(WorkerNode *workerNode) int GetOuterXidAttrIndexInPgDistTransaction(TupleDesc tupleDesc) { - return TupleDescSize(tupleDesc) == Natts_pg_dist_transaction + return tupleDesc->natts == Natts_pg_dist_transaction ? (Anum_pg_dist_transaction_outerxid - 1) : tupleDesc->natts - 1; }