You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2017/10/19 02:08:53 UTC

[1/2] incubator-trafodion git commit: [TRAFODION-2776] Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master c66fca250 -> 5071a2088


[TRAFODION-2776] Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate

The problem is that during MdamKey::preCodegen we regenerate the disjuncts and expect to get the same number as we saw during optimize phase. This is mostly true, but in some cases not. There is some defensive code to handle this case, but it does not trigger when there is a partKey predicate. The fix removes the partKey predicate check for the defensive code.


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

Branch: refs/heads/master
Commit: 669d55925ab685375a74df8abd5aedfb3ba88c2b
Parents: 921c0a5
Author: Suresh Subbiah <su...@apache.org>
Authored: Wed Oct 18 19:23:19 2017 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Wed Oct 18 19:23:19 2017 +0000

----------------------------------------------------------------------
 core/sql/optimizer/mdam.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/669d5592/core/sql/optimizer/mdam.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/mdam.cpp b/core/sql/optimizer/mdam.cpp
index 6e05724..4570fc9 100644
--- a/core/sql/optimizer/mdam.cpp
+++ b/core/sql/optimizer/mdam.cpp
@@ -1589,8 +1589,7 @@ void MdamKey::preCodeGen(ValueIdSet& executorPredicates,
 
   // If the curDisjuncts have more than one disjunct and the chosen plan
   // only has 1 disjunct then the mdam common predicates case has occurred
-  if (getDisjuncts().entries() == 1  AND  curDisjuncts->entries() > 1 AND
-      !partKeyPredsAdded)
+  if (getDisjuncts().entries() == 1  AND  curDisjuncts->entries() > 1)
     {
       ValueIdSet commonPreds = curDisjuncts->getCommonPredicates();
       CMPASSERT(NOT commonPreds.isEmpty());


[2/2] incubator-trafodion git commit: Merge [TRAFODION-2776] PR-1268 Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate

Posted by su...@apache.org.
Merge [TRAFODION-2776] PR-1268 Mdam plans with more than one disjunct sometimes cause either a compiler core or have an incorrect predicate


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

Branch: refs/heads/master
Commit: 5071a2088c92e5db3e85a3be9dcf83867757c8b1
Parents: c66fca2 669d559
Author: Suresh Subbiah <su...@apache.org>
Authored: Thu Oct 19 02:08:28 2017 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Thu Oct 19 02:08:28 2017 +0000

----------------------------------------------------------------------
 core/sql/optimizer/mdam.cpp | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------