You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hawq.apache.org by rl...@apache.org on 2016/10/28 03:53:13 UTC
[10/17] incubator-hawq git commit: HAWQ-1122. Adds a GUC to enable
array constraint derivation.
HAWQ-1122. Adds a GUC to enable array constraint derivation.
A new feature of ORCA is to more efficiently handle array constraints.
It includes a new preprocessing stage, and a new way of internally
representing array constraints. This feature can be enabled by use of
this GUC.
This is cherry-picked from greenplum-db/gpdb@c85f858ec725ec14a6e7870749f3a03fb2597310
Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/71caebcf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/71caebcf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/71caebcf
Branch: refs/heads/master
Commit: 71caebcfbdbb19146e149f8e808790693ebcf41e
Parents: e7bba17
Author: Marc Spehlmann <ma...@gmail.com>
Authored: Mon Aug 1 08:53:58 2016 -0700
Committer: rlei <rl...@pivotal.io>
Committed: Fri Oct 28 11:52:20 2016 +0800
----------------------------------------------------------------------
.../gpopt/config/CConfigParamMapping.cpp | 7 +++++++
src/backend/utils/misc/guc.c | 21 +++++++++++++++-----
src/include/utils/guc.h | 1 +
3 files changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/71caebcf/src/backend/gpopt/config/CConfigParamMapping.cpp
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/config/CConfigParamMapping.cpp b/src/backend/gpopt/config/CConfigParamMapping.cpp
index 4a2073c..cde6fd7 100644
--- a/src/backend/gpopt/config/CConfigParamMapping.cpp
+++ b/src/backend/gpopt/config/CConfigParamMapping.cpp
@@ -391,6 +391,13 @@ CConfigParamMapping::SConfigMappingElem CConfigParamMapping::m_elem[] =
&optimizer_parallel_union,
false, // m_fNegate
GPOS_WSZ_LIT("Enable parallel execution for UNION/UNION ALL queries.")
+ },
+
+ {
+ EopttraceEnableArrayDerive,
+ &optimizer_enable_array_derivation,
+ false, // m_fNegate
+ GPOS_WSZ_LIT("Allows the constraint framework to derive array constraints in the optimizer.")
}
};
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/71caebcf/src/backend/utils/misc/guc.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index a936765..7f56f80 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -758,13 +758,14 @@ bool optimizer_static_partition_selection;
bool optimizer_enable_partial_index;
bool optimizer_dml_triggers;
bool optimizer_dml_constraints;
-bool optimizer_enable_master_only_queries;
-bool sort_segments_enable;
-bool optimizer_multilevel_partitioning;
-bool optimizer_enable_derive_stats_all_groups;
+bool optimizer_enable_master_only_queries;
+bool sort_segments_enable;
+bool optimizer_multilevel_partitioning;
+bool optimizer_enable_derive_stats_all_groups;
bool optimizer_explain_show_status;
bool optimizer_prefer_scalar_dqa_multistage_agg;
-bool optimizer_parallel_union;
+bool optimizer_parallel_union;
+bool optimizer_enable_array_derivation;
/* Security */
bool gp_reject_internal_tcp_conn = true;
@@ -4398,6 +4399,16 @@ static struct config_bool ConfigureNamesBool[] =
false, NULL, NULL
},
+ {
+ {"optimizer_enable_array_derivation", PGC_USERSET, DEVELOPER_OPTIONS,
+ gettext_noop("Allows the constraint framework to derive array constraints in the optimizer."),
+ NULL,
+ GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
+ },
+ &optimizer_enable_array_derivation,
+ false, NULL, NULL
+ },
+
/* End-of-list marker */
{
{NULL, 0, 0, NULL, NULL}, NULL, false, NULL, NULL
http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/71caebcf/src/include/utils/guc.h
----------------------------------------------------------------------
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index 58b2b61..6cdf22d 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -441,6 +441,7 @@ extern bool optimizer_enable_derive_stats_all_groups;
extern bool optimizer_explain_show_status;
extern bool optimizer_prefer_scalar_dqa_multistage_agg;
extern bool optimizer_parallel_union;
+extern bool optimizer_enable_array_derivation;
/**
* Enable logging of DPE match in optimizer.