[TRAFODION-2901] take one in column list as source for output

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

Branch: refs/heads/master
Commit: 00378f9bdc18f649cc3314e445a1e2ee5810eceb
Parents: c8c5bce
Author: Guhaiyan <[email protected]>
Authored: Fri Jun 1 01:43:21 2018 +0000
Committer: Guhaiyan <[email protected]>
Committed: Fri Jun 1 01:43:21 2018 +0000

----------------------------------------------------------------------
 core/sql/optimizer/RelExpr.cpp | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/00378f9b/core/sql/optimizer/RelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExpr.cpp b/core/sql/optimizer/RelExpr.cpp
index edad4dd..7f881d8 100644
--- a/core/sql/optimizer/RelExpr.cpp
+++ b/core/sql/optimizer/RelExpr.cpp
@@ -13331,10 +13331,6 @@ void GenericUpdate::pushdownCoveredExpr(const 
ValueIdSet &outputExpr,
     localExprs += *setOfValuesReqdByParent ;
   localExprs += exprsInDerivedClasses_;
 
-  ValueIdSet original_output;
-  if (avoidHalloween() && child(0) && child(0)->getGroupAttr())
-    original_output = child(0)->getGroupAttr()->getCharacteristicOutputs();
-
   // ---------------------------------------------------------------------
   // Check which expressions can be evaluated by my child.
   // Modify the Group Attributes of those children who inherit some of
@@ -13354,9 +13350,10 @@ void GenericUpdate::pushdownCoveredExpr(const 
ValueIdSet &outputExpr,
           ValueId exprId;
           ValueId atLeastOne;
 
-          for (exprId = original_output.init();
-               original_output.next(exprId);
-               original_output.advance(exprId))
+          ValueIdSet output_source = 
child(0)->getTableDescForExpr()->getColumnList();
+          for (exprId = output_source.init();
+               output_source.next(exprId);
+               output_source.advance(exprId))
             {
               atLeastOne = exprId;
               if (!(exprId.getItemExpr()->doesExprEvaluateToConstant(FALSE, 
TRUE)))

Reply via email to