Repository: trafodion
Updated Branches:
  refs/heads/master 03487b25a -> f63b28212


[TRAFODION-2913] Tweak some MDAM-related heuristics


Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/ae170308
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/ae170308
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/ae170308

Branch: refs/heads/master
Commit: ae17030878f48aab2be36db7a57d7b11c2413016
Parents: 63e1083
Author: Dave Birdsall <[email protected]>
Authored: Wed Jan 17 17:22:24 2018 +0000
Committer: Dave Birdsall <[email protected]>
Committed: Wed Jan 17 17:22:24 2018 +0000

----------------------------------------------------------------------
 core/sql/optimizer/ScanOptimizer.cpp | 26 +++-----------------------
 core/sql/optimizer/ScanOptimizer.h   |  3 +--
 core/sql/sqlcomp/nadefaults.cpp      |  2 +-
 3 files changed, 5 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/optimizer/ScanOptimizer.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ScanOptimizer.cpp 
b/core/sql/optimizer/ScanOptimizer.cpp
index 5ca7d86..9265a55 100644
--- a/core/sql/optimizer/ScanOptimizer.cpp
+++ b/core/sql/optimizer/ScanOptimizer.cpp
@@ -3124,8 +3124,7 @@ NABoolean ScanOptimizer::canStillConsiderMDAM(const 
ValueIdSet partKeyPreds,
                                         const ValueIdSet nonKeyColumnSet,
                                         const Disjuncts &curDisjuncts,
                                         const IndexDesc * indexDesc,
-                                        const ValueIdSet externalInputs,
-                                        NABoolean mdamFlag)
+                                        const ValueIdSet externalInputs)
 {
 
   NABoolean canDoMdam = TRUE;
@@ -3135,11 +3134,6 @@ NABoolean ScanOptimizer::canStillConsiderMDAM(const 
ValueIdSet partKeyPreds,
   // Check whether MDAM can be considered for this node:
   // -----------------------------------------------------------------------
 
-  if(CURRSTMT_OPTDEFAULTS->indexEliminationLevel() != OptDefaults::MINIMUM
-     AND mdamFlag == MDAM_OFF)
-               canDoMdam = FALSE;
-
-  else
   if (NOT indexDesc->getNAFileSet()->isKeySequenced())
   {
     // -----------------------------------------------------------
@@ -3477,17 +3471,6 @@ ScanOptimizer::getMdamStatus(const FileScan& fileScan
     return ScanForceWildCard::MDAM_OFF;
   }
 
-  // The Index elimination project added the MdamFlag which can force
-  // MDAM off
-  //
-  if(CURRSTMT_OPTDEFAULTS->indexEliminationLevel() != OptDefaults::MINIMUM
-     AND fileScan.getMdamFlag() == MDAM_OFF 
-        && (CmpCommon::getDefault(RANGESPEC_TRANSFORMATION) != DF_ON )
-        )
-  { 
-    return ScanForceWildCard::MDAM_OFF;
-  }
-
   // If the number of disjuncts exceeds the maximum, MDAM is forced OFF
   //
   if(fileScan.getDisjuncts().entries() > MDAM_MAX_NUM_DISJUNCTS) {
@@ -4166,7 +4149,6 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr   /* 
out */
        else
        {
         ValueIdSet externalInputs = getExternalInputs();
-        NABoolean mdamFlag = getMdamFlag();
 
         if (NOT partKeyPreds.isEmpty())
         {
@@ -4174,8 +4156,7 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr   /* 
out */
                                                 nonKeyColumnSet,
                                                 *curDisjuncts,
                                                 indexDesc,
-                                                externalInputs,
-                                                mdamFlag);
+                                                externalInputs);
         }
         else
         {
@@ -4183,8 +4164,7 @@ FileScanOptimizer::optimize(SearchKey*& searchKeyPtr   /* 
out */
                                                 nonKeyColumnSet,
                                                 getDisjuncts(),
                                                 indexDesc,
-                                                externalInputs,
-                                                mdamFlag);
+                                                externalInputs);
         }
 
        }

http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/optimizer/ScanOptimizer.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ScanOptimizer.h 
b/core/sql/optimizer/ScanOptimizer.h
index 29bafd2..d6f445e 100644
--- a/core/sql/optimizer/ScanOptimizer.h
+++ b/core/sql/optimizer/ScanOptimizer.h
@@ -387,8 +387,7 @@ public:
                                         const ValueIdSet nonKeyColumnSet,
                                         const Disjuncts &curDisjuncts,
                                         const IndexDesc * indexDesc,
-                                        const ValueIdSet externalInputs,
-                                        NABoolean mdamFlag);
+                                        const ValueIdSet externalInputs);
 
   // get and set various probing counters for all partitions.
 

http://git-wip-us.apache.org/repos/asf/trafodion/blob/ae170308/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp
index a75c20b..ea2d8d4 100644
--- a/core/sql/sqlcomp/nadefaults.cpp
+++ b/core/sql/sqlcomp/nadefaults.cpp
@@ -1877,7 +1877,7 @@ SDDkwd__(ISO_MAPPING,           (char 
*)SQLCHARSETSTRING_ISO88591),
  // mdam off on open source at this point
   XDDkwd__(MDAM_SCAN_METHOD,                   "ON"),
 
-  DDflt0_(MDAM_SELECTION_DEFAULT,              "0.5"),
+  DDflt0_(MDAM_SELECTION_DEFAULT,              "8.0"),
 
   // Overhead charge for a subset in the rewritten MDAM costing code
   DDflt0_(MDAM_SUBSET_FACTOR,                   "8.0"),

Reply via email to