[TRAFODION-1700] [TRAFODION-1847] fixes - commit #2

Changed hbase_filter_preds to 'on' in core/TEST029 and core/TEST056
to make the test pass. This CQD is set to '2' in sql/regress/tools/sbdefs.

The merge update columns were not bound in the right order and that was
causing the executor/TEST015 to fail.


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

Branch: refs/heads/master
Commit: 2fb283bf4248dcc2107c2435197746874e19794e
Parents: a8210ea
Author: selvaganesang <[email protected]>
Authored: Sat Feb 27 21:02:11 2016 +0000
Committer: selvaganesang <[email protected]>
Committed: Sat Feb 27 21:02:11 2016 +0000

----------------------------------------------------------------------
 core/sql/optimizer/BindRelExpr.cpp   |  5 ++++-
 core/sql/optimizer/RelExpr.cpp       |  2 +-
 core/sql/optimizer/RelUpdate.h       | 10 +++++-----
 core/sql/regress/core/EXPECTED056.SB |  6 ++++++
 core/sql/regress/core/TEST029        |  2 +-
 core/sql/regress/core/TEST056        |  2 ++
 6 files changed, 19 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindRelExpr.cpp 
b/core/sql/optimizer/BindRelExpr.cpp
index c0b3788..ab347a7 100644
--- a/core/sql/optimizer/BindRelExpr.cpp
+++ b/core/sql/optimizer/BindRelExpr.cpp
@@ -10265,6 +10265,9 @@ RelExpr* Insert::xformUpsertToMerge(BindWA *bindWA)
       ValueId tgtValueId = 
assignExpr->child(0)->castToItemExpr()->getValueId();
       NAColumn *col = tgtValueId.getNAColumn( TRUE );
       NABoolean copySetAssign = FALSE;
+      if (col->isSystemColumn())
+         continue;
+      else
       if (! col->isClusteringKey()) 
       {
          // In case of aligned format we need to bind in the new = old values
@@ -10287,7 +10290,7 @@ RelExpr* Insert::xformUpsertToMerge(BindWA *bindWA)
             setAssign = (ItemExpr *)assignExpr;
             setCount++;
             if (setCount > 1) 
-               setAssign = new(bindWA->wHeap()) 
ItemList(setAssign,setAssignPrev);
+               setAssign = new(bindWA->wHeap()) ItemList(setAssignPrev, 
setAssign);
          }
      }
   }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/optimizer/RelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExpr.cpp b/core/sql/optimizer/RelExpr.cpp
index 2b21ae4..fafc600 100644
--- a/core/sql/optimizer/RelExpr.cpp
+++ b/core/sql/optimizer/RelExpr.cpp
@@ -12797,7 +12797,7 @@ MergeUpdate::MergeUpdate(const CorrName &name,
                         ItemExpr *where)
      : Update(name,tabId,otype,child,setExpr,NULL,oHeap),
        insertCols_(insertCols), insertValues_(insertValues),
-       where_(where)
+       where_(where), xformedUpsert_(FALSE)
 {
   setCacheableNode(CmpMain::BIND);
   

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/optimizer/RelUpdate.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelUpdate.h b/core/sql/optimizer/RelUpdate.h
index 3eea633..dbd8a06 100644
--- a/core/sql/optimizer/RelUpdate.h
+++ b/core/sql/optimizer/RelUpdate.h
@@ -143,8 +143,7 @@ GenericUpdate(const CorrName &name,
     noIMneeded_(FALSE),
     useMVCC_(FALSE),
     useSSCC_(FALSE),
-    preconditionTree_(NULL),
-    xformedUpsert_(FALSE) 
+    preconditionTree_(NULL)
   {}
 
   // copy ctor
@@ -542,8 +541,6 @@ GenericUpdate(const CorrName &name,
            { precondition_ = pc; exprsInDerivedClasses_ += precondition_; }
 
   virtual ItemExpr * insertValues() { return NULL;}
-  NABoolean xformedUpsert() {return xformedUpsert_;}
-  void setXformedUpsert() {xformedUpsert_ = TRUE;}
 
 protected:
 
@@ -932,7 +929,6 @@ private:
   ItemExpr *preconditionTree_;
   ValueIdSet precondition_;
  
-  NABoolean xformedUpsert_;
 
 };
 
@@ -1446,10 +1442,14 @@ public:
 
   ItemExpr * insertCols() {return insertCols_;}
   virtual ItemExpr * insertValues() { return insertValues_;}
+
+  NABoolean xformedUpsert() {return xformedUpsert_;}
+  void setXformedUpsert() {xformedUpsert_ = TRUE;}
 private:
   ItemExpr *insertCols_;
   ItemExpr *insertValues_;
   ItemExpr *where_;
+  NABoolean xformedUpsert_;
 };
 
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/regress/core/EXPECTED056.SB
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED056.SB 
b/core/sql/regress/core/EXPECTED056.SB
index 4ddfcd4..9ddfb83 100755
--- a/core/sql/regress/core/EXPECTED056.SB
+++ b/core/sql/regress/core/EXPECTED056.SB
@@ -2025,6 +2025,9 @@ T056T56_COL            T056T56_COL2  T056T56_COL3  
T056T56_COL4
 
 --- 1 row(s) selected.
 >>
+>>cqd hbase_filter_preds 'on' ;
+
+--- SQL operation complete.
 >>create table t056t57 (a1 numeric(2,2) signed default 0 not null);
 
 --- SQL operation complete.
@@ -2149,6 +2152,9 @@ A1
     .00
 
 --- 1 row(s) selected.
+>>cqd hbase_filter_preds '2' ;
+
+--- SQL operation complete.
 >>
 >>obey TEST056(tests4);
 >>obey test056(test4OLTops);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/regress/core/TEST029
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/TEST029 b/core/sql/regress/core/TEST029
index 88a53a4..adfc463 100755
--- a/core/sql/regress/core/TEST029
+++ b/core/sql/regress/core/TEST029
@@ -39,7 +39,7 @@ obey TEST029(ddbMX);
 drop   table MT;
 create table MT(a int);                -- empty table, for NULL data source
 #ifMX
-
+cqd hbase_filter_preds 'on' ;
 log  LOG029 clear;
 obey TEST029(tests);
 obey TEST029(ddbMXMP);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/2fb283bf/core/sql/regress/core/TEST056
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/TEST056 b/core/sql/regress/core/TEST056
index 823f66e..29085bb 100755
--- a/core/sql/regress/core/TEST056
+++ b/core/sql/regress/core/TEST056
@@ -806,6 +806,7 @@ alter table t056t56 add column t056t56_col3 pic 9 default 
+00;
 alter table t056t56 add column t056t56_col4 decimal default 0;
 select * from t056t56;
 
+cqd hbase_filter_preds 'on' ;
 create table t056t57 (a1 numeric(2,2) signed default 0 not null);
 showddl t056t57;
 insert into t056t57 default values;
@@ -830,6 +831,7 @@ create table t056t61 (a1 numeric(2,2) default -0.0 not 
null);
 showddl t056t61;
 insert into t056t61 default values;
 select * from t056t61;
+cqd hbase_filter_preds '2' ;
 
 ?section test4ddl
 ------------------------------------------------

Reply via email to