From 4dd455e7fe227500c5147beb8c5798e4b6b38c78 Mon Sep 17 00:00:00 2001 From: Halil Ozan Akgul Date: Wed, 18 Aug 2021 16:28:45 +0300 Subject: [PATCH] Introduces index_insert_compat macro index_insert function now has a new parameter, indexUnchanged This new macro give us the ability to use these new parameter for PG14 and they don't give the parameters for previous versions Existing parameter is set to false Relevant PG commit: 9dc718bdf2b1a574481a45624d42b674332e2903 --- src/backend/columnar/columnar_tableam.c | 4 ++-- src/include/columnar/columnar_version_compat.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/columnar/columnar_tableam.c b/src/backend/columnar/columnar_tableam.c index 31ba02ec9..0e1bb4f3f 100644 --- a/src/backend/columnar/columnar_tableam.c +++ b/src/backend/columnar/columnar_tableam.c @@ -1568,8 +1568,8 @@ ColumnarReadMissingRowsIntoIndex(TableScanDesc scan, Relation indexRelation, Relation columnarRelation = scan->rs_rd; IndexUniqueCheck indexUniqueCheck = indexInfo->ii_Unique ? UNIQUE_CHECK_YES : UNIQUE_CHECK_NO; - index_insert(indexRelation, indexValues, indexNulls, columnarItemPointer, - columnarRelation, indexUniqueCheck, indexInfo); + index_insert_compat(indexRelation, indexValues, indexNulls, columnarItemPointer, + columnarRelation, indexUniqueCheck, false, indexInfo); validateIndexState->tups_inserted += 1; } diff --git a/src/include/columnar/columnar_version_compat.h b/src/include/columnar/columnar_version_compat.h index eb343e035..0a51d4611 100644 --- a/src/include/columnar/columnar_version_compat.h +++ b/src/include/columnar/columnar_version_compat.h @@ -22,6 +22,8 @@ #define ExecSimpleRelationInsert_compat(a, b, c) \ ExecSimpleRelationInsert(a, b, c) #define modifyStateResultRelInfo(a) ((a)->resultRelInfo) +#define index_insert_compat(a, b, c, d, e, f, g, h) \ + index_insert(a, b, c, d, e, f, g, h) #else #define ColumnarProcessUtility_compat(a, b, c, d, e, f, g, h) \ ColumnarProcessUtility(a, b, d, e, f, g, h) @@ -31,6 +33,8 @@ #define ExecSimpleRelationInsert_compat(a, b, c) \ ExecSimpleRelationInsert(b, c) #define modifyStateResultRelInfo(a) ((a)->estate->es_result_relation_info) +#define index_insert_compat(a, b, c, d, e, f, g, h) \ + index_insert(a, b, c, d, e, f, h) #endif #define ACLCHECK_OBJECT_TABLE OBJECT_TABLE