You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2018/01/26 23:19:32 UTC

[2/3] trafodion git commit: Reworks as suggested by Hans

Reworks as suggested by Hans


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

Branch: refs/heads/master
Commit: 97f137c5cdd4d9a7568a063f03a369a914eac839
Parents: ebf7283
Author: Dave Birdsall <db...@apache.org>
Authored: Thu Jan 25 19:35:07 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Thu Jan 25 19:35:07 2018 +0000

----------------------------------------------------------------------
 core/sql/optimizer/OptPhysRelExpr.cpp | 27 +++------------------------
 1 file changed, 3 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/97f137c5/core/sql/optimizer/OptPhysRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/OptPhysRelExpr.cpp b/core/sql/optimizer/OptPhysRelExpr.cpp
index eff9944..1f7a4dc 100644
--- a/core/sql/optimizer/OptPhysRelExpr.cpp
+++ b/core/sql/optimizer/OptPhysRelExpr.cpp
@@ -15527,37 +15527,16 @@ Context * FirstN::createContextForAChild(Context* myContext,
 
   if (reqdOrder().entries() > 0)
     {
-      // replace our sort requirement with that implied by our ORDER BY clause
-
-      rg.removeSortKey();
-
-      ValueIdList sortKey;
-      sortKey.insert(reqdOrder());
+      // add our sort requirement as implied by our ORDER BY clause
 
       // Shouldn't/Can't add a sort order type requirement
       // if we are in DP2
       if (rppForMe->executeInDP2())
-        rg.addSortKey(sortKey,NO_SOT);
+        rg.addSortKey(reqdOrder(),NO_SOT);
       else
-        rg.addSortKey(sortKey,ESP_SOT);
+        rg.addSortKey(reqdOrder(),ESP_SOT);
     }
 
-  if (NOT pws->isEmpty())
-  {
-    const Context* childContext = pws->getLatestChildContext();
-
-    // ------------------------------------------------------------------
-    // Cost limit exceeded or got no solution? Give up since we only
-    // try one plan.
-    // ------------------------------------------------------------------
-    if(NOT (childContext AND childContext->hasOptimalSolution()))
-      return NULL;
-
-    if (NOT pws->isLatestContextWithinCostLimit())
-      return NULL;
-
-  }
-
   if (NOT rg.checkFeasibility())
     return NULL;