Skip to content

Commit 96254aa

Browse files
committed
Fix for REL_14_STABLE/REL_15_STABLE diffs
1 parent bcf2424 commit 96254aa

File tree

2 files changed

+67
-67
lines changed

2 files changed

+67
-67
lines changed

patches/REL_14_STABLE-pg_pathman-core.diff

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ index f27e458482..ea47c341c1 100644
1111
pg_stat_statements \
1212
pg_surgery \
1313
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
14-
index ca6f6d57d3..8ab313b910 100644
14+
index bf551b0395..10d2044ae6 100644
1515
--- a/src/backend/access/transam/xact.c
1616
+++ b/src/backend/access/transam/xact.c
1717
@@ -76,7 +76,7 @@ int DefaultXactIsoLevel = XACT_READ_COMMITTED;
@@ -24,7 +24,7 @@ index ca6f6d57d3..8ab313b910 100644
2424
bool DefaultXactDeferrable = false;
2525
bool XactDeferrable;
2626
diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c
27-
index 5483dee650..e2864e6ae9 100644
27+
index 6b63f93e6d..060146d127 100644
2828
--- a/src/backend/executor/execExprInterp.c
2929
+++ b/src/backend/executor/execExprInterp.c
3030
@@ -1799,6 +1799,16 @@ ExecInterpExpr(ExprState *state, ExprContext *econtext, bool *isnull)
@@ -77,10 +77,10 @@ index b3ce4bae53..8f2bb12542 100644
7777
* ResultRelInfos needed by subplans are initialized from scratch when the
7878
* subplans themselves are initialized.
7979
diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c
80-
index d328856ae5..27235ec869 100644
80+
index 0780554246..a90f3a495d 100644
8181
--- a/src/backend/executor/nodeModifyTable.c
8282
+++ b/src/backend/executor/nodeModifyTable.c
83-
@@ -450,7 +450,7 @@ ExecInitInsertProjection(ModifyTableState *mtstate,
83+
@@ -510,7 +510,7 @@ ExecInitInsertProjection(ModifyTableState *mtstate,
8484
* This is also a convenient place to verify that the output of an UPDATE
8585
* matches the target table (ExecBuildUpdateProjection does that).
8686
*/
@@ -89,15 +89,15 @@ index d328856ae5..27235ec869 100644
8989
ExecInitUpdateProjection(ModifyTableState *mtstate,
9090
ResultRelInfo *resultRelInfo)
9191
{
92-
@@ -2363,6 +2363,7 @@ ExecModifyTable(PlanState *pstate)
93-
PartitionTupleRouting *proute = node->mt_partition_tuple_routing;
94-
List *relinfos = NIL;
95-
ListCell *lc;
92+
@@ -2487,6 +2487,7 @@ ExecModifyTable(PlanState *pstate)
93+
ItemPointerData tuple_ctid;
94+
HeapTupleData oldtupdata;
95+
HeapTuple oldtuple;
9696
+ ResultRelInfo *saved_resultRelInfo;
9797

9898
CHECK_FOR_INTERRUPTS();
9999

100-
@@ -2400,12 +2401,23 @@ ExecModifyTable(PlanState *pstate)
100+
@@ -2524,12 +2525,23 @@ ExecModifyTable(PlanState *pstate)
101101
resultRelInfo = node->resultRelInfo + node->mt_lastResultIndex;
102102
subplanstate = outerPlanState(node);
103103

@@ -111,7 +111,7 @@ index d328856ae5..27235ec869 100644
111111
for (;;)
112112
{
113113
+ /*
114-
+ * "es_original_tuple" should contain original modified tuple (new
114+
+ * "es_original_tuple" should contains original modified tuple (new
115115
+ * values of the changed columns plus row identity information such as
116116
+ * CTID) in case tuple planSlot is replaced in pg_pathman to new value
117117
+ * in call "ExecProcNode(subplanstate)".
@@ -121,7 +121,7 @@ index d328856ae5..27235ec869 100644
121121
/*
122122
* Reset the per-output-tuple exprcontext. This is needed because
123123
* triggers expect to use that context as workspace. It's a bit ugly
124-
@@ -2439,7 +2451,9 @@ ExecModifyTable(PlanState *pstate)
124+
@@ -2563,7 +2575,9 @@ ExecModifyTable(PlanState *pstate)
125125
bool isNull;
126126
Oid resultoid;
127127

@@ -132,7 +132,7 @@ index d328856ae5..27235ec869 100644
132132
&isNull);
133133
if (isNull)
134134
elog(ERROR, "tableoid is NULL");
135-
@@ -2458,6 +2472,8 @@ ExecModifyTable(PlanState *pstate)
135+
@@ -2582,6 +2596,8 @@ ExecModifyTable(PlanState *pstate)
136136
if (resultRelInfo->ri_usesFdwDirectModify)
137137
{
138138
Assert(resultRelInfo->ri_projectReturning);
@@ -141,15 +141,15 @@ index d328856ae5..27235ec869 100644
141141

142142
/*
143143
* A scan slot containing the data that was actually inserted,
144-
@@ -2467,6 +2483,7 @@ ExecModifyTable(PlanState *pstate)
144+
@@ -2591,6 +2607,7 @@ ExecModifyTable(PlanState *pstate)
145145
*/
146146
slot = ExecProcessReturning(resultRelInfo, NULL, planSlot);
147147

148148
+ estate->es_result_relation_info = saved_resultRelInfo;
149149
return slot;
150150
}
151151

152-
@@ -2496,7 +2513,8 @@ ExecModifyTable(PlanState *pstate)
152+
@@ -2620,7 +2637,8 @@ ExecModifyTable(PlanState *pstate)
153153
{
154154
/* ri_RowIdAttNo refers to a ctid attribute */
155155
Assert(AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo));
@@ -159,7 +159,7 @@ index d328856ae5..27235ec869 100644
159159
resultRelInfo->ri_RowIdAttNo,
160160
&isNull);
161161
/* shouldn't ever get a null result... */
162-
@@ -2526,7 +2544,8 @@ ExecModifyTable(PlanState *pstate)
162+
@@ -2650,7 +2668,8 @@ ExecModifyTable(PlanState *pstate)
163163
*/
164164
else if (AttributeNumberIsValid(resultRelInfo->ri_RowIdAttNo))
165165
{
@@ -169,7 +169,7 @@ index d328856ae5..27235ec869 100644
169169
resultRelInfo->ri_RowIdAttNo,
170170
&isNull);
171171
/* shouldn't ever get a null result... */
172-
@@ -2557,8 +2576,12 @@ ExecModifyTable(PlanState *pstate)
172+
@@ -2681,8 +2700,12 @@ ExecModifyTable(PlanState *pstate)
173173
/* Initialize projection info if first time for this table */
174174
if (unlikely(!resultRelInfo->ri_projectNewInfoValid))
175175
ExecInitInsertProjection(node, resultRelInfo);
@@ -184,7 +184,7 @@ index d328856ae5..27235ec869 100644
184184
estate, node->canSetTag);
185185
break;
186186
case CMD_UPDATE:
187-
@@ -2566,37 +2589,45 @@ ExecModifyTable(PlanState *pstate)
187+
@@ -2690,37 +2713,45 @@ ExecModifyTable(PlanState *pstate)
188188
if (unlikely(!resultRelInfo->ri_projectNewInfoValid))
189189
ExecInitUpdateProjection(node, resultRelInfo);
190190

@@ -253,7 +253,7 @@ index d328856ae5..27235ec869 100644
253253
planSlot, &node->mt_epqstate, estate,
254254
true, /* processReturning */
255255
node->canSetTag,
256-
@@ -2613,7 +2644,10 @@ ExecModifyTable(PlanState *pstate)
256+
@@ -2737,7 +2768,10 @@ ExecModifyTable(PlanState *pstate)
257257
* the work on next call.
258258
*/
259259
if (slot)
@@ -264,23 +264,23 @@ index d328856ae5..27235ec869 100644
264264
}
265265

266266
/*
267-
@@ -2642,6 +2676,7 @@ ExecModifyTable(PlanState *pstate)
267+
@@ -2753,6 +2787,7 @@ ExecModifyTable(PlanState *pstate)
268268

269269
node->mt_done = true;
270270

271271
+ estate->es_result_relation_info = saved_resultRelInfo;
272272
return NULL;
273273
}
274274

275-
@@ -2716,6 +2751,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
275+
@@ -2827,6 +2862,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
276276
ListCell *l;
277277
int i;
278278
Relation rel;
279279
+ ResultRelInfo *saved_resultRelInfo;
280280

281281
/* check for unsupported flags */
282282
Assert(!(eflags & (EXEC_FLAG_BACKWARD | EXEC_FLAG_MARK)));
283-
@@ -2812,6 +2848,13 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
283+
@@ -2923,6 +2959,13 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
284284
i++;
285285
}
286286

@@ -294,8 +294,8 @@ index d328856ae5..27235ec869 100644
294294
/*
295295
* Now we may initialize the subplan.
296296
*/
297-
@@ -2884,6 +2927,8 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
298-
}
297+
@@ -3004,6 +3047,8 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags)
298+
ExecInitStoredGenerated(resultRelInfo, estate, operation);
299299
}
300300

301301
+ estate->es_result_relation_info = saved_resultRelInfo;
@@ -304,7 +304,7 @@ index d328856ae5..27235ec869 100644
304304
* If this is an inherited update/delete, there will be a junk attribute
305305
* named "tableoid" present in the subplan's targetlist. It will be used
306306
diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c
307-
index 381d9e548d..9d101c3a86 100644
307+
index 381d9e548d..0a4657d291 100644
308308
--- a/src/backend/utils/init/globals.c
309309
+++ b/src/backend/utils/init/globals.c
310310
@@ -25,7 +25,7 @@
@@ -317,7 +317,7 @@ index 381d9e548d..9d101c3a86 100644
317317
volatile sig_atomic_t InterruptPending = false;
318318
volatile sig_atomic_t QueryCancelPending = false;
319319
diff --git a/src/include/access/xact.h b/src/include/access/xact.h
320-
index 134f6862da..92ff475332 100644
320+
index 5af78bd0dc..0c13bc9d83 100644
321321
--- a/src/include/access/xact.h
322322
+++ b/src/include/access/xact.h
323323
@@ -53,7 +53,9 @@ extern PGDLLIMPORT int XactIsoLevel;
@@ -357,7 +357,7 @@ index 3dc03c913e..1002d97499 100644
357357

358358
#endif /* EXECUTOR_H */
359359
diff --git a/src/include/libpq/libpq-be.h b/src/include/libpq/libpq-be.h
360-
index 02015efe13..2091f7f3b7 100644
360+
index 4acb1cda6e..fd8d38347d 100644
361361
--- a/src/include/libpq/libpq-be.h
362362
+++ b/src/include/libpq/libpq-be.h
363363
@@ -327,7 +327,7 @@ extern ssize_t be_gssapi_read(Port *port, void *ptr, size_t len);
@@ -370,10 +370,10 @@ index 02015efe13..2091f7f3b7 100644
370370
/* TCP keepalives configuration. These are no-ops on an AF_UNIX socket. */
371371

372372
diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h
373-
index 105180764e..2a40d2ce15 100644
373+
index ee5ad3c058..dc474819d7 100644
374374
--- a/src/include/nodes/execnodes.h
375375
+++ b/src/include/nodes/execnodes.h
376-
@@ -579,6 +579,12 @@ typedef struct EState
376+
@@ -592,6 +592,12 @@ typedef struct EState
377377
* es_result_relations in no
378378
* specific order */
379379

@@ -419,7 +419,7 @@ index de22c9ba2c..c8be5323b8 100644
419419

420420
sub CopyIncludeFiles
421421
diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm
422-
index 05ff67e693..d169271df1 100644
422+
index 9b6539fb15..f8a67c6701 100644
423423
--- a/src/tools/msvc/Mkvcbuild.pm
424424
+++ b/src/tools/msvc/Mkvcbuild.pm
425425
@@ -41,7 +41,10 @@ my @contrib_uselibpq =
@@ -434,15 +434,15 @@ index 05ff67e693..d169271df1 100644
434434
my $contrib_extrasource = {
435435
'cube' => [ 'contrib/cube/cubescan.l', 'contrib/cube/cubeparse.y' ],
436436
'seg' => [ 'contrib/seg/segscan.l', 'contrib/seg/segparse.y' ],
437-
@@ -970,6 +973,7 @@ sub AddContrib
437+
@@ -973,6 +976,7 @@ sub AddContrib
438438
my $dn = $1;
439439
my $proj = $solution->AddProject($dn, 'dll', 'contrib', "$subdir/$n");
440440
$proj->AddReference($postgres);
441441
+ $proj->RemoveFile("$subdir/$n/src/declarative.c") if $n eq 'pg_pathman';
442442
AdjustContribProj($proj);
443443
}
444444
elsif ($mf =~ /^MODULES\s*=\s*(.*)$/mg)
445-
@@ -999,6 +1003,19 @@ sub AddContrib
445+
@@ -1002,6 +1006,19 @@ sub AddContrib
446446
return;
447447
}
448448

@@ -462,7 +462,7 @@ index 05ff67e693..d169271df1 100644
462462
sub GenerateContribSqlFiles
463463
{
464464
my $n = shift;
465-
@@ -1023,23 +1040,53 @@ sub GenerateContribSqlFiles
465+
@@ -1026,23 +1043,53 @@ sub GenerateContribSqlFiles
466466
substr($l, 0, index($l, '$(addsuffix ')) . substr($l, $i + 1);
467467
}
468468

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy