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/04/24 15:07:33 UTC
[2/4] trafodion git commit: Reworks
Reworks
Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/64d1e330
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/64d1e330
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/64d1e330
Branch: refs/heads/master
Commit: 64d1e33063bd2957b5c71b47c2608a7ac2852c9f
Parents: ee91b33
Author: Dave Birdsall <db...@apache.org>
Authored: Mon Apr 23 21:51:24 2018 +0000
Committer: Dave Birdsall <db...@apache.org>
Committed: Mon Apr 23 21:51:24 2018 +0000
----------------------------------------------------------------------
core/sql/optimizer/NormRelExpr.cpp | 5 ++++-
core/sql/regress/compGeneral/EXPECTED015.SB | 18 +++++++++---------
2 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafodion/blob/64d1e330/core/sql/optimizer/NormRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NormRelExpr.cpp b/core/sql/optimizer/NormRelExpr.cpp
index 89504a2..115b406 100644
--- a/core/sql/optimizer/NormRelExpr.cpp
+++ b/core/sql/optimizer/NormRelExpr.cpp
@@ -2855,11 +2855,14 @@ RelExpr* Join::transformSemiJoin(NormWA& normWARef)
haveSignificantReduction = TRUE;
CostScalar innerAllowance =
((ActiveSchemaDB()->getDefaults()).getAsDouble(SEMIJOIN_TO_INNERJOIN_INNER_ALLOWANCE));
+ NABoolean haveSmallInner = FALSE;
+ if ((innerRowCount < innerAllowance) && (!noInnerStats))
+ haveSmallInner = TRUE;
if (preds.isEmpty() &&
((child(1)->getGroupAttr()->getNumBaseTables() == 0) ||
haveSignificantReduction ||
- (innerRowCount < innerAllowance) ||
+ haveSmallInner ||
(CmpCommon::getDefault(SEMIJOIN_TO_INNERJOIN_TRANSFORMATION) == DF_ON)))
{
CollHeap *stmtHeap = CmpCommon::statementHeap() ;
http://git-wip-us.apache.org/repos/asf/trafodion/blob/64d1e330/core/sql/regress/compGeneral/EXPECTED015.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/compGeneral/EXPECTED015.SB b/core/sql/regress/compGeneral/EXPECTED015.SB
index b5e11d4..c1a3076 100755
--- a/core/sql/regress/compGeneral/EXPECTED015.SB
+++ b/core/sql/regress/compGeneral/EXPECTED015.SB
@@ -535,8 +535,8 @@ TRAFODION_SCAN T10 1.000E+005 100000 fragm
OPERATOR TAB_NAME CARDINALITY MAX_CARDINALITY
---------------- ---------- ----------- ---------------
-ROOT 1.250E+004 100000 fragm
-TRAFODION_SCAN T10 1.250E+004 100000 fragm
+ROOT 1.000E+004 10000 fragme
+TRAFODION_SCAN T10 1.000E+004 10000 fragme
--- 2 row(s) selected.
>>select count(*) from (SELECT * FROM t10 WHERE d like 'one%') as t;
@@ -557,8 +557,8 @@ TRAFODION_SCAN T10 1.250E+004 100000 fragm
OPERATOR TAB_NAME CARDINALITY MAX_CARDINALITY
---------------- ---------- ----------- ---------------
-ROOT 8.750E+004 100000 fragm
-TRAFODION_SCAN T10 8.750E+004 100000 fragm
+ROOT 1.000E+005 100000 fragm
+TRAFODION_SCAN T10 1.000E+005 100000 fragm
--- 2 row(s) selected.
>>select count(*) from (SELECT * FROM t10 WHERE d not like 'one%') as t;
@@ -1174,8 +1174,8 @@ TRAFODION_SCAN T10 1.000E+000 1 fragment_i
OPERATOR TAB_NAME CARDINALITY MAX_CARDINALITY
---------------- ---------- ----------- ---------------
-ROOT 1.250E+004 12500 fragme
-TRAFODION_SCAN T10 1.250E+004 12500 fragme
+ROOT 1.000E+004 10000 fragme
+TRAFODION_SCAN T10 1.000E+004 10000 fragme
--- 2 row(s) selected.
>> -- min(1e5, 1e4) should = 1e4
@@ -1202,8 +1202,8 @@ TRAFODION_SCAN T10 1.000E+000 1 fragment_i
OPERATOR TAB_NAME CARDINALITY MAX_CARDINALITY
---------------- ---------- ----------- ---------------
-ROOT 1.000E+000 10000 fragme
-TRAFODION_SCAN T10 1.000E+000 10000 fragme
+ROOT 1.000E+000 100000 fragm
+TRAFODION_SCAN T10 1.000E+000 100000 fragm
--- 2 row(s) selected.
>> -- min(1e4, 1e5) should = 1e4
@@ -2297,7 +2297,7 @@ OPERATOR
----------------
ROOT
-HYBRID_HASH_SEMI
+HYBRID_HASH_JOIN
--- 2 row(s) selected.
>>