HAWQ-1122. Adds a GUC to enable array constraint derivation.

This fixes the naming in c85f858ec725ec14a6e7870749f3a03fb2597310

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@8ba520bd9f4f82ced764075ac1eb35c121dadfed


Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/14524b4d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/14524b4d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/14524b4d

Branch: refs/heads/master
Commit: 14524b4d178f1da2b5a517c75b16aeefd18c57af
Parents: 15fa66e
Author: Marc Spehlmann <[email protected]>
Authored: Mon Aug 1 08:53:58 2016 -0700
Committer: rlei <[email protected]>
Committed: Fri Oct 28 11:52:20 2016 +0800

----------------------------------------------------------------------
 src/backend/gpopt/config/CConfigParamMapping.cpp | 4 ++--
 src/backend/utils/misc/guc.c                     | 9 +++++----
 src/include/utils/guc.h                          | 2 +-
 3 files changed, 8 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/14524b4d/src/backend/gpopt/config/CConfigParamMapping.cpp
----------------------------------------------------------------------
diff --git a/src/backend/gpopt/config/CConfigParamMapping.cpp 
b/src/backend/gpopt/config/CConfigParamMapping.cpp
index cde6fd7..33ae54b 100644
--- a/src/backend/gpopt/config/CConfigParamMapping.cpp
+++ b/src/backend/gpopt/config/CConfigParamMapping.cpp
@@ -394,8 +394,8 @@ CConfigParamMapping::SConfigMappingElem 
CConfigParamMapping::m_elem[] =
                },
 
                {
-               EopttraceEnableArrayDerive,
-               &optimizer_enable_array_derivation,
+               EopttraceArrayConstraints,
+               &optimizer_array_constraints,
                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/14524b4d/src/backend/utils/misc/guc.c
----------------------------------------------------------------------
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 7f56f80..ee33862 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -765,7 +765,7 @@ 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_enable_array_derivation;
+bool           optimizer_array_constraints;
 
 /* Security */
 bool           gp_reject_internal_tcp_conn = true;
@@ -4400,15 +4400,16 @@ static struct config_bool ConfigureNamesBool[] =
        },
 
        {
-               {"optimizer_enable_array_derivation", PGC_USERSET, 
DEVELOPER_OPTIONS,
-                       gettext_noop("Allows the constraint framework to derive 
array constraints in the optimizer."),
+               {"optimizer_array_constraints", PGC_USERSET, DEVELOPER_OPTIONS,
+                       gettext_noop("Allows the optimizer's constraint 
framework to derive array constraints."),
                        NULL,
                        GUC_NO_SHOW_ALL | GUC_NOT_IN_SAMPLE
                },
-               &optimizer_enable_array_derivation,
+               &optimizer_array_constraints,
                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/14524b4d/src/include/utils/guc.h
----------------------------------------------------------------------
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index 6cdf22d..e0cfc33 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -441,7 +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;
+extern bool optimizer_array_constraints;
 
 /**
  * Enable logging of DPE match in optimizer.

Reply via email to