Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf455e11

Browse files
committed
Pass eflags down to parallel workers.
Currently, there are no known consequences of this oversight, so noback-patch. Several of the EXEC_FLAG_* constants aren't usable inparallel mode anyway, and potential problems related to the presenceor absence of OIDs (see EXEC_FLAG_WITH_OIDS, EXEC_FLAG_WITHOUT_OIDS)seem at present to be masked by the unconditional projection stepperformed by Gather and Gather Merge. In general, however, it seemsimportant that all participants agree on the values of these flags,which modify executor behavior globally, and a pending patch to skipprojection in Gather (Merge) would be outright broken in certain caseswithout this fix.Patch by me, based on investigation of a test case provided by AmitKapila. This patch was also reviewed by Amit Kapila.Discussion:http://postgr.es/m/CA+TgmoZ0ZL=cesZFq8c9NnfK6bqy-wwUd3_74iYGodYrSoQ7Fw@mail.gmail.com
1 parent56f3468 commitf455e11

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

‎src/backend/executor/execParallel.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ typedef struct FixedParallelExecutorState
6969
{
7070
int64tuples_needed;/* tuple bound, see ExecSetTupleBound */
7171
dsa_pointerparam_exec;
72+
inteflags;
7273
}FixedParallelExecutorState;
7374

7475
/*
@@ -647,6 +648,7 @@ ExecInitParallelPlan(PlanState *planstate, EState *estate,
647648
fpes=shm_toc_allocate(pcxt->toc,sizeof(FixedParallelExecutorState));
648649
fpes->tuples_needed=tuples_needed;
649650
fpes->param_exec=InvalidDsaPointer;
651+
fpes->eflags=estate->es_top_eflags;
650652
shm_toc_insert(pcxt->toc,PARALLEL_KEY_EXECUTOR_FIXED,fpes);
651653

652654
/* Store query string */
@@ -1224,7 +1226,7 @@ ParallelQueryMain(dsm_segment *seg, shm_toc *toc)
12241226
area=dsa_attach_in_place(area_space,seg);
12251227

12261228
/* Start up the executor */
1227-
ExecutorStart(queryDesc,0);
1229+
ExecutorStart(queryDesc,fpes->eflags);
12281230

12291231
/* Special executor initialization steps for parallel workers */
12301232
queryDesc->planstate->state->es_query_dsa=area;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp