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/05/11 19:29:13 UTC

[1/2] trafodion git commit: [TRAFODION-3066] Fix bug that causes 2053 warning on deeply nested subqueries

Repository: trafodion
Updated Branches:
  refs/heads/master a5b67c9e9 -> 330235a0b


[TRAFODION-3066] Fix bug that causes 2053 warning on deeply nested subqueries


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

Branch: refs/heads/master
Commit: 3d54d5ac8ab797335e32bd6bbefff4150452bd15
Parents: 008f4af
Author: Dave Birdsall <db...@apache.org>
Authored: Wed May 9 23:15:17 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Wed May 9 23:15:17 2018 +0000

----------------------------------------------------------------------
 core/sql/optimizer/GroupAttr.h     | 15 ++++++++++++++-
 core/sql/optimizer/NormRelExpr.cpp |  2 ++
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/3d54d5ac/core/sql/optimizer/GroupAttr.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/GroupAttr.h b/core/sql/optimizer/GroupAttr.h
index 5878417..854ba0c 100644
--- a/core/sql/optimizer/GroupAttr.h
+++ b/core/sql/optimizer/GroupAttr.h
@@ -812,9 +812,22 @@ private:
 
   // values used to avoid bushy join trees
   Int32          numBaseTables_;    // # of base tables involved in this subtree
-  Int32          numJoinedTables_;  // # of tables in join backbone
+  Int32          numJoinedTables_;  // # of tables in join backbone (see note below)
   Int32          numTMUDFs_;        // # of table-mapping UDFs in this subtree
 
+  // Note: For numJoinedTables_, we calculate this when we create the
+  // GroupAttributes for an expression for the first time. For most nodes
+  // this will be 1; for a Join node it will be more than 1 in general.
+  // Later, when we form Groups for a given expression, this initial value
+  // applies to the Group. Optimization will in general add more expressions
+  // to a given group. For example, a Group originally associated with a
+  // GroupByAgg node might get a Join expression if the GroupByOnJoinRule
+  // chooses to push a Group By below a Join. When this happens, though,
+  // we leave numJoinedTables_ as 1 in the GroupAttributes (see
+  // Join::synthLogProp), which will inhibit the LeftShiftJoinRule from
+  // firing on that Join. This is important, because we want the large
+  // scope rules to control what join orders are enumerated.
+
   // QSTUFF VV
   // --------------------------------------------------------------------
   // attribute to determine whether RelExpr is a select with an embedded

http://git-wip-us.apache.org/repos/asf/trafodion/blob/3d54d5ac/core/sql/optimizer/NormRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NormRelExpr.cpp b/core/sql/optimizer/NormRelExpr.cpp
index 6d1ef4c..974c055 100644
--- a/core/sql/optimizer/NormRelExpr.cpp
+++ b/core/sql/optimizer/NormRelExpr.cpp
@@ -2888,6 +2888,8 @@ RelExpr* Join::transformSemiJoin(NormWA& normWARef)
 				child(1)->castToRelExpr()) ;
 	newGrby->setGroupAttr(new (stmtHeap) 
 	  GroupAttributes(*(child(1)->getGroupAttr())));
+	// must reset numJoinedTables_; we might be copying GroupAttributes from a join
+	newGrby->getGroupAttr()->resetNumJoinedTables(1);
 	newGrby->getGroupAttr()->clearLogProperties();
 	  
 	newGrby->setGroupExpr(equiJoinCols1);


[2/2] trafodion git commit: Merge [TRAFODION-3066] PR 1558 Fix 2053 warning bug for nested subqueries

Posted by db...@apache.org.
Merge [TRAFODION-3066] PR 1558 Fix 2053 warning bug for nested subqueries


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

Branch: refs/heads/master
Commit: 330235a0b9f73f861cfd82cf34f14022f8254817
Parents: a5b67c9 3d54d5a
Author: Dave Birdsall <db...@apache.org>
Authored: Fri May 11 19:28:25 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Fri May 11 19:28:25 2018 +0000

----------------------------------------------------------------------
 core/sql/optimizer/GroupAttr.h     | 15 ++++++++++++++-
 core/sql/optimizer/NormRelExpr.cpp |  2 ++
 2 files changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------