Skip to content

Commit d752a80

Browse files
antamelkovdb75
authored andcommitted
PGPRO-8238, PGPRO-8122: Fix build with master at 5df319f3d. Correct number of args in ExecInitRangeTable(),
ExecInsertIndexTuples(), ExecBRUpdateTriggers() and ExecBRDeleteTriggers(). Caused by: - b803b7d132e3505ab77c29acf91f3d1caa298f95 Fill EState.es_rteperminfos more systematically. - 19d8e2308bc51ec4ab993ce90077342c915dd116 Ignore BRIN indexes when checking for HOT updates - 9321c79c86e6a6a4eac22e2235a21a8b68388723 Fix concurrent update issues with MERGE. Tags: pg_pathman
1 parent 8a347d6 commit d752a80

File tree

2 files changed

+26
-8
lines changed

2 files changed

+26
-8
lines changed

‎src/include/compat/pg_compat.h

+20-6
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,12 @@ extern AttrNumber *convert_tuples_by_name_map(TupleDesc indesc,
779779
/*
780780
* ExecBRUpdateTriggers()
781781
*/
782-
#if PG_VERSION_NUM >= 150000 /* for commit 7103ebb7aae8 */
782+
#if PG_VERSION_NUM >= 160000
783+
#define ExecBRUpdateTriggersCompat(estate, epqstate, relinfo, \
784+
tupleid, fdw_trigtuple, newslot) \
785+
ExecBRUpdateTriggers((estate), (epqstate), (relinfo), (tupleid), \
786+
(fdw_trigtuple), (newslot), NULL, NULL)
787+
#elif PG_VERSION_NUM >= 150000 /* for commit 7103ebb7aae8 */
783788
#define ExecBRUpdateTriggersCompat(estate, epqstate, relinfo, \
784789
tupleid, fdw_trigtuple, newslot) \
785790
ExecBRUpdateTriggers((estate), (epqstate), (relinfo), (tupleid), \
@@ -809,7 +814,12 @@ extern AttrNumber *convert_tuples_by_name_map(TupleDesc indesc,
809814
/*
810815
* ExecBRDeleteTriggers()
811816
*/
812-
#if PG_VERSION_NUM >= 110000
817+
#if PG_VERSION_NUM >= 160000
818+
#define ExecBRDeleteTriggersCompat(estate, epqstate, relinfo, tupleid, \
819+
fdw_trigtuple, epqslot) \
820+
ExecBRDeleteTriggers((estate), (epqstate), (relinfo), (tupleid), \
821+
(fdw_trigtuple), (epqslot), NULL, NULL)
822+
#elif PG_VERSION_NUM >= 110000
813823
#define ExecBRDeleteTriggersCompat(estate, epqstate, relinfo, tupleid, \
814824
fdw_trigtuple, epqslot) \
815825
ExecBRDeleteTriggers((estate), (epqstate), (relinfo), (tupleid), \
@@ -1028,15 +1038,19 @@ extern AttrNumber *convert_tuples_by_name_map(TupleDesc indesc,
10281038
/*
10291039
* ExecInsertIndexTuples. Since 12 slot contains tupleid.
10301040
* Since 14: new fields "resultRelInfo", "update".
1041+
* Since 16: new bool field "onlySummarizing".
10311042
*/
1032-
#if PG_VERSION_NUM >= 140000
1033-
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes) \
1043+
#if PG_VERSION_NUM >= 160000
1044+
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes, onlySummarizing) \
1045+
ExecInsertIndexTuples((resultRelInfo), (slot), (estate), (update), (noDupError), (specConflict), (arbiterIndexes), (onlySummarizing))
1046+
#elif PG_VERSION_NUM >= 140000
1047+
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes, onlySummarizing) \
10341048
ExecInsertIndexTuples((resultRelInfo), (slot), (estate), (update), (noDupError), (specConflict), (arbiterIndexes))
10351049
#elif PG_VERSION_NUM >= 120000
1036-
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes) \
1050+
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes, onlySummarizing) \
10371051
ExecInsertIndexTuples((slot), (estate), (noDupError), (specConflict), (arbiterIndexes))
10381052
#else
1039-
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes) \
1053+
#define ExecInsertIndexTuplesCompat(resultRelInfo, slot, tupleid, estate, update, noDupError, specConflict, arbiterIndexes, onlySummarizing) \
10401054
ExecInsertIndexTuples((slot), (tupleid), (estate), (noDupError), (specConflict), (arbiterIndexes))
10411055
#endif
10421056

‎src/utility_stmt_hooking.c

+6-2
Original file line numberDiff line numberDiff line change
@@ -564,10 +564,14 @@ PathmanCopyFrom(
564564

565565
#if PG_VERSION_NUM >= 140000 /* reworked in 1375422c7826 */
566566
/*
567-
* Call ExecInitRangeTable() should be first because in 14 it initializes
567+
* Call ExecInitRangeTable() should be first because in 14+ it initializes
568568
* field "estate->es_result_relations":
569569
*/
570+
#if PG_VERSION_NUM >= 160000
571+
ExecInitRangeTable(estate, range_table, cstate->rteperminfos);
572+
#else
570573
ExecInitRangeTable(estate, range_table);
574+
#endif
571575
estate->es_result_relations =
572576
(ResultRelInfo **) palloc0(list_length(range_table) * sizeof(ResultRelInfo *));
573577
estate->es_result_relations[0] = parent_rri;
@@ -749,7 +753,7 @@ PathmanCopyFrom(
749753
/* ... and create index entries for it */
750754
if (child_rri->ri_NumIndices > 0)
751755
recheckIndexes = ExecInsertIndexTuplesCompat(estate->es_result_relation_info,
752-
slot, &(tuple->t_self), estate, false, false, NULL, NIL);
756+
slot, &(tuple->t_self), estate, false, false, NULL, NIL, false);
753757
}
754758
#ifdef PG_SHARDMAN
755759
/* Handle foreign tables */

0 commit comments

Comments
 (0)