Skip to content

Commit 16dab64

Browse files
Add guc optimizer_enable_parallel_append.
1 parent 46a505f commit 16dab64

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
@@ -331,6 +331,7 @@ bool optimizer_enable_motion_gather;
331331
bool optimizer_enable_motion_redistribute;
332332
bool optimizer_enable_sort;
333333
bool optimizer_enable_materialize;
334+
bool optimizer_enable_parallel_append;
334335
bool optimizer_enable_partition_propagation;
335336
bool optimizer_enable_partition_selection;
336337
bool optimizer_enable_outerjoin_rewrite;
@@ -2250,6 +2251,16 @@ struct config_bool ConfigureNamesBool_gp[] =
22502251
true,
22512252
NULL, NULL, NULL
22522253
},
2254+
{
2255+
{"optimizer_enable_parallel_append", PGC_USERSET, DEVELOPER_OPTIONS,
2256+
gettext_noop("Enable parallel append for seq/bitmap/index scan in partition table."),
2257+
NULL,
2258+
GUC_NOT_IN_SAMPLE
2259+
},
2260+
&optimizer_enable_parallel_append,
2261+
false,
2262+
NULL, NULL, NULL
2263+
},
22532264
{
22542265
{"optimizer_enable_partition_propagation", PGC_USERSET, DEVELOPER_OPTIONS,
22552266
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
@@ -514,6 +514,7 @@ extern bool optimizer_enable_motion_gather;
514514
extern bool optimizer_enable_motion_redistribute;
515515
extern bool optimizer_enable_sort;
516516
extern bool optimizer_enable_materialize;
517+
extern bool optimizer_enable_parallel_append;
517518
extern bool optimizer_enable_partition_propagation;
518519
extern bool optimizer_enable_partition_selection;
519520
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
@@ -427,6 +427,7 @@
427427
"optimizer_enable_nljoin",
428428
"optimizer_enable_outerjoin_rewrite",
429429
"optimizer_enable_outerjoin_to_unionall_rewrite",
430+
"optimizer_enable_parallel_append",
430431
"optimizer_enable_partition_propagation",
431432
"optimizer_enable_partition_selection",
432433
"optimizer_enable_push_join_below_union_all",

0 commit comments

Comments
 (0)