Skip to content

Commit bf6b7e9

Browse files
Add guc optimizer_enable_parallel_append.
1 parent a558e80 commit bf6b7e9

File tree

6 files changed

+23
-0
lines changed

6 files changed

+23
-0
lines changed

src/backend/gpopt/config/CConfigParamMapping.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,10 @@ CConfigParamMapping::SConfigMappingElem CConfigParamMapping::m_elements[] = {
284284
GPOS_WSZ_LIT(
285285
"Enable Eager Agg transform for pushing aggregate below an innerjoin.")},
286286

287+
{EopttraceEnableParallelAppendScan, &optimizer_enable_parallel_append,
288+
false, // m_negate_param
289+
GPOS_WSZ_LIT("Enable parallel append for scan/bitmap/index scan in partition tables.")},
290+
287291
{EopttraceDisableOrderedAgg, &optimizer_enable_orderedagg,
288292
true, // m_negate_param
289293
GPOS_WSZ_LIT("Disable ordered aggregate plans.")},

src/backend/gporca/libgpopt/src/xforms/CXformDynamicGet2ParallelAppendTableScan.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ CXformDynamicGet2ParallelAppendTableScan::Exfp(CExpressionHandle &exprhdl) const
7171
return CXform::ExfpNone;
7272
}
7373

74+
if (GPOS_FTRACE(EopttraceEnableParallelAppendScan))
75+
return CXform::ExfpNone;
76+
7477
CLogicalDynamicGet *popGet = CLogicalDynamicGet::PopConvert(exprhdl.Pop());
7578
CTableDescriptor *ptabdesc = popGet->Ptabdesc();
7679

src/backend/gporca/libnaucrates/include/naucrates/traceflags/traceflags.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,9 @@ enum EOptTraceFlag
188188
// Eager Agg
189189
EopttraceEnableEagerAgg = 103030,
190190

191+
// Enable parallel append scan
192+
EopttraceEnableParallelAppendScan = 103031,
193+
191194
// ExpandFullJoin
192195
EopttraceExpandFullJoin = 103032,
193196

src/backend/utils/misc/guc_gp.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ bool optimizer_enable_motion_gather;
332332
bool optimizer_enable_motion_redistribute;
333333
bool optimizer_enable_sort;
334334
bool optimizer_enable_materialize;
335+
bool optimizer_enable_parallel_append;
335336
bool optimizer_enable_partition_propagation;
336337
bool optimizer_enable_partition_selection;
337338
bool optimizer_enable_outerjoin_rewrite;
@@ -2261,6 +2262,16 @@ struct config_bool ConfigureNamesBool_gp[] =
22612262
true,
22622263
NULL, NULL, NULL
22632264
},
2265+
{
2266+
{"optimizer_enable_parallel_append", PGC_USERSET, DEVELOPER_OPTIONS,
2267+
gettext_noop("Enable parallel append for seq/bitmap/index scan in partition table."),
2268+
NULL,
2269+
GUC_NOT_IN_SAMPLE
2270+
},
2271+
&optimizer_enable_parallel_append,
2272+
false,
2273+
NULL, NULL, NULL
2274+
},
22642275
{
22652276
{"optimizer_enable_partition_propagation", PGC_USERSET, DEVELOPER_OPTIONS,
22662277
gettext_noop("Enable plans with Partition Propagation operators in the optimizer."),

src/include/utils/guc.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,7 @@ extern bool optimizer_enable_motion_gather;
515515
extern bool optimizer_enable_motion_redistribute;
516516
extern bool optimizer_enable_sort;
517517
extern bool optimizer_enable_materialize;
518+
extern bool optimizer_enable_parallel_append;
518519
extern bool optimizer_enable_partition_propagation;
519520
extern bool optimizer_enable_partition_selection;
520521
extern bool optimizer_enable_outerjoin_rewrite;

src/include/utils/unsync_guc_name.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,7 @@
428428
"optimizer_enable_nljoin",
429429
"optimizer_enable_outerjoin_rewrite",
430430
"optimizer_enable_outerjoin_to_unionall_rewrite",
431+
"optimizer_enable_parallel_append",
431432
"optimizer_enable_partition_propagation",
432433
"optimizer_enable_partition_selection",
433434
"optimizer_enable_push_join_below_union_all",

0 commit comments

Comments
 (0)