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 2015/11/19 18:12:56 UTC

[4/6] incubator-trafodion git commit: Fix for seabase/TEST022 failure Changes as per the review comments of PR-178

Fix for seabase/TEST022 failure
Changes as per the review comments of PR-178


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

Branch: refs/heads/master
Commit: f1396daf2ab97300af8b8b0469864e9d633fb783
Parents: 89764ec
Author: selvaganesang <se...@esgyn.com>
Authored: Wed Nov 18 14:39:26 2015 +0000
Committer: selvaganesang <se...@esgyn.com>
Committed: Wed Nov 18 14:39:26 2015 +0000

----------------------------------------------------------------------
 core/sql/generator/GenPreCode.cpp        | 6 +++---
 core/sql/generator/GenRelUpdate.cpp      | 2 +-
 core/sql/generator/Generator.h           | 2 +-
 core/sql/regress/seabase/TEST022         | 2 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 7 +++++++
 5 files changed, 13 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f1396daf/core/sql/generator/GenPreCode.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenPreCode.cpp b/core/sql/generator/GenPreCode.cpp
index af69c10..c730c4e 100644
--- a/core/sql/generator/GenPreCode.cpp
+++ b/core/sql/generator/GenPreCode.cpp
@@ -9488,7 +9488,7 @@ ItemExpr * IndexColumn::preCodeGen(Generator * generator)
   return i;
 }
 
-ItemExpr * Generator::addCompDecodeForDerialization(ItemExpr * ie)
+ItemExpr * Generator::addCompDecodeForDerialization(ItemExpr * ie, NABoolean isAlignedFormat)
 {
   if (!ie)
     return NULL;
@@ -9496,7 +9496,7 @@ ItemExpr * Generator::addCompDecodeForDerialization(ItemExpr * ie)
   if ((ie->getOperatorType() == ITM_BASECOLUMN) ||
       (ie->getOperatorType() == ITM_INDEXCOLUMN))
     {
-      if (HbaseAccess::isEncodingNeededForSerialization(ie))
+      if (! isAlignedFormat && HbaseAccess::isEncodingNeededForSerialization(ie))
 	{
 	  ItemExpr * newNode = new(wHeap()) CompDecode
 	    (ie, &ie->getValueId().getType(), FALSE, TRUE);
@@ -9516,7 +9516,7 @@ ItemExpr * Generator::addCompDecodeForDerialization(ItemExpr * ie)
 
   for (Lng32 i = 0; i < ie->getArity(); i++)
     {
-      ItemExpr * nie = addCompDecodeForDerialization(ie->child(i));
+      ItemExpr * nie = addCompDecodeForDerialization(ie->child(i), isAlignedFormat);
       if (nie)
 	ie->setChild(i, nie);
     }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f1396daf/core/sql/generator/GenRelUpdate.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelUpdate.cpp b/core/sql/generator/GenRelUpdate.cpp
index 2716689..da7c8ea 100644
--- a/core/sql/generator/GenRelUpdate.cpp
+++ b/core/sql/generator/GenRelUpdate.cpp
@@ -2531,7 +2531,7 @@ short HbaseInsert::codeGen(Generator *generator)
 	getCheckConstraints().rebuildExprTree(ITM_AND, TRUE, TRUE);
 
       if (getTableDesc()->getNATable()->hasSerializedEncodedColumn())
-	constrTree = generator->addCompDecodeForDerialization(constrTree);
+	constrTree = generator->addCompDecodeForDerialization(constrTree, isAlignedFormat);
 
       expGen->generateExpr(constrTree->getValueId(), ex_expr::exp_SCAN_PRED,
 			   &insConstraintExpr);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f1396daf/core/sql/generator/Generator.h
----------------------------------------------------------------------
diff --git a/core/sql/generator/Generator.h b/core/sql/generator/Generator.h
index 6c37b50..3706f65 100644
--- a/core/sql/generator/Generator.h
+++ b/core/sql/generator/Generator.h
@@ -1632,7 +1632,7 @@ public:
   void setPlanExpirationTimestamp(Int64 t);
   Int64 getPlanExpirationTimestamp() { return planExpirationTimestamp_; }
 
-  ItemExpr * addCompDecodeForDerialization(ItemExpr * ie);
+  ItemExpr * addCompDecodeForDerialization(ItemExpr * ie, NABoolean isAlignedFormat);
 
   void setHBaseNumCacheRows(double rowsAccessed, 
                             ComTdbHbaseAccess::HbasePerfAttributes * hbpa,

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f1396daf/core/sql/regress/seabase/TEST022
----------------------------------------------------------------------
diff --git a/core/sql/regress/seabase/TEST022 b/core/sql/regress/seabase/TEST022
index 8efd469..58339b4 100644
--- a/core/sql/regress/seabase/TEST022
+++ b/core/sql/regress/seabase/TEST022
@@ -20,7 +20,7 @@
 -- under the License.
 --
 -- @@@ END COPYRIGHT @@@
-
+cqd hbase_delete_costing 'off';
 log LOG022 clear;
 
 cqd hbase_native_iud 'ON';

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/f1396daf/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index fdb9330..4bb9e85 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -2089,6 +2089,13 @@ NABoolean CmpSeabaseDDL::enabledForSerialization(NAColumn * nac)
   return FALSE;
 }
 
+// NAColumn in memory is expected to have the correct HbaseColFlags for
+// serialization depending on if it belongs to index or table. 
+// Index and Table row format can be different now. However, it is
+// recommended that the function is called only when it is not aligned
+// row format. The existing callers are verified to be working correctly
+// even though some callers don't adhere to this recommendation
+
 NABoolean CmpSeabaseDDL::isEncodingNeededForSerialization(NAColumn * nac)
 {
   const NAType *givenType = nac->getType();