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 2015/08/26 16:34:04 UTC

[1/3] incubator-trafodion git commit: Fix for a few JIRA issues

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master ed6512c0f -> 5928f31a1


Fix for a few JIRA issues

[TRAFODION 1462] : Change HBASE_SERIALIZATION to ON by default
[TRAFODION 1463] : Support UPSERT into serialized table with index
[TRAFODION 1464] : UPSERT into indexed table with idendity by default key causes inconsistency
[TRAFODION 1465] : MERGE with select on source side into indexes table causes inconsistency
[TRAFODION 1466] : Bulk load into seralized indexed table causes inconsistency
[TRAFODION 1254] : Various inconsistency issues with Bulk load and upsert, changed a cqd name to finally close it.


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

Branch: refs/heads/master
Commit: a6ec56aeab3ca9fb13e163dc45dcb61d217b24dc
Parents: 5260807
Author: Suresh Subbiah <su...@apache.org>
Authored: Mon Aug 24 23:12:44 2015 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Mon Aug 24 23:12:44 2015 +0000

----------------------------------------------------------------------
 core/sql/executor/ExHbaseIUD.cpp       | 41 ++++++++++++--
 core/sql/generator/GenExpGenerator.cpp |  6 ++-
 core/sql/generator/GenExpGenerator.h   |  3 +-
 core/sql/generator/GenRelUpdate.cpp    | 12 +++--
 core/sql/optimizer/BindRelExpr.cpp     | 21 ++------
 core/sql/optimizer/RelExeUtil.cpp      |  2 +-
 core/sql/regress/hive/EXPECTED015      | 83 +++++++++++++----------------
 core/sql/regress/hive/TEST015          |  3 --
 core/sql/sqlcomp/DefaultConstants.h    |  2 +
 core/sql/sqlcomp/nadefaults.cpp        |  3 +-
 10 files changed, 99 insertions(+), 77 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/executor/ExHbaseIUD.cpp
----------------------------------------------------------------------
diff --git a/core/sql/executor/ExHbaseIUD.cpp b/core/sql/executor/ExHbaseIUD.cpp
index be16263..15fa244 100644
--- a/core/sql/executor/ExHbaseIUD.cpp
+++ b/core/sql/executor/ExHbaseIUD.cpp
@@ -1615,9 +1615,44 @@ ExWorkProcRetcode ExHbaseAccessBulkLoadPrepSQTcb::work()
         break;
       case RETURN_ROW:
       {
-        if (moveRowToUpQueue(convertRow_, hbaseAccessTdb().convertRowLen(),
-                             &rc, FALSE))
-		  return rc;
+	if (qparent_.up->isFull())
+	      return WORK_OK;
+	    
+	if (returnUpdateExpr())
+	{
+	  ex_queue_entry * up_entry = qparent_.up->getTailEntry();
+	  
+	  // allocate tupps where returned rows will be created
+	  if (allocateUpEntryTupps(
+				   -1,
+				   0,
+				   hbaseAccessTdb().returnedTuppIndex_,
+				   hbaseAccessTdb().returnUpdatedRowLen_,
+				   FALSE,
+				   &rc))
+	    return rc;
+	  
+	  ex_expr::exp_return_type exprRetCode =
+	    returnUpdateExpr()->eval(up_entry->getAtp(), workAtp_);
+	  if (exprRetCode == ex_expr::EXPR_ERROR)
+	  {
+	    step_ = HANDLE_ERROR;
+	    break;
+	  }
+	  
+	  rc = 0;
+	  // moveRowToUpQueue also increments matches_
+	  if (moveRowToUpQueue(&rc))
+	    return rc;
+	}
+	else
+	{
+	  rc = 0;
+	  // moveRowToUpQueue also increments matches_
+	  if (moveRowToUpQueue(convertRow_, hbaseAccessTdb().convertRowLen(), 
+			       &rc, FALSE))
+	    return rc;
+	}
         if (currRowNum_ < hbaseAccessTdb().getHbaseRowsetVsbbSize())
           step_ = DONE;
         else

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/generator/GenExpGenerator.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenExpGenerator.cpp b/core/sql/generator/GenExpGenerator.cpp
index 7110630..dd7d37b 100644
--- a/core/sql/generator/GenExpGenerator.cpp
+++ b/core/sql/generator/GenExpGenerator.cpp
@@ -2938,7 +2938,8 @@ short ExpGenerator::generateDeserializedMoveExpr(
 						 ex_expr ** moveExpr,
 						 ExpTupleDesc ** tupleDesc,
 						 ExpTupleDesc::TupleDescFormat tdescF,
-						 ValueIdList &deserVIDlist)
+						 ValueIdList &deserVIDlist,
+						 ValueIdSet &alreadyDeserialized)
 {
   for (Lng32 i = 0; i < valIdList.entries(); i++)
     {
@@ -2946,7 +2947,8 @@ short ExpGenerator::generateDeserializedMoveExpr(
       NAColumn * nac = vid.getNAColumn( TRUE );
 
       ItemExpr * ie = NULL;
-      if (CmpSeabaseDDL::isEncodingNeededForSerialization(nac))
+      if (CmpSeabaseDDL::isEncodingNeededForSerialization(nac) &&
+	  !alreadyDeserialized.contains(vid))
 	{
 	  ie = new(generator->wHeap()) CompDecode(vid.getItemExpr(), &vid.getType(),
 						  FALSE, TRUE);

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/generator/GenExpGenerator.h
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenExpGenerator.h b/core/sql/generator/GenExpGenerator.h
index 54acd1d..87b31f9 100644
--- a/core/sql/generator/GenExpGenerator.h
+++ b/core/sql/generator/GenExpGenerator.h
@@ -559,7 +559,8 @@ public:
 				     ex_expr ** moveExpr,
 				     ExpTupleDesc ** tupleDesc,
 				     ExpTupleDesc::TupleDescFormat tdescF,
-				     ValueIdList &deserColVIDlist);
+				     ValueIdList &deserColVIDlist,
+				     ValueIdSet &alreadyDeserialized);
 
   // generate expression for an exclude flag for a key value
   short generateExclusionExpr(ItemExpr *expr,

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/generator/GenRelUpdate.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelUpdate.cpp b/core/sql/generator/GenRelUpdate.cpp
index 71ca9c8..79e3203 100644
--- a/core/sql/generator/GenRelUpdate.cpp
+++ b/core/sql/generator/GenRelUpdate.cpp
@@ -1824,6 +1824,7 @@ short HbaseUpdate::codeGen(Generator * generator)
 				   0, returnedFetchedTuppIndex); 
       
       ValueIdList updatedOutputs;
+      ValueIdSet alreadyDeserialized;
 
       if (isMerge())
 	{
@@ -1860,6 +1861,7 @@ short HbaseUpdate::codeGen(Generator * generator)
 	      else
 		{
 		  tgtValueId = fetchedCol->getValueId();
+		  alreadyDeserialized += tgtValueId; // if it is necessary to deserialize, that is
 		}
  
 	      updatedOutputs.insert(tgtValueId);
@@ -1898,7 +1900,8 @@ short HbaseUpdate::codeGen(Generator * generator)
 	     &returnUpdateExpr, 
 	     &returnedUpdatedTupleDesc,
 	     ExpTupleDesc::SHORT_FORMAT,
-	     tgtConvValueIdList);
+	     tgtConvValueIdList,
+	     alreadyDeserialized);
 	}
      else
        {
@@ -1972,7 +1975,8 @@ short HbaseUpdate::codeGen(Generator * generator)
 		 &returnMergeInsertExpr, 
 		 &returnedMergeInsertedTupleDesc,
 		 ExpTupleDesc::SHORT_FORMAT,
-		 tgtConvValueIdList);
+		 tgtConvValueIdList,
+		 alreadyDeserialized);
 	    }
 	  else
 	    {
@@ -2584,6 +2588,7 @@ short HbaseInsert::codeGen(Generator *generator)
       if (getTableDesc()->getNATable()->hasSerializedEncodedColumn())
 	{
 	  ValueIdList deserColVIDList;
+	  ValueIdSet dummy;
 
 	  // if serialized columns are present, then create a new row with
 	  // deserialized columns before returning it.
@@ -2596,7 +2601,8 @@ short HbaseInsert::codeGen(Generator *generator)
 	     &projExpr, 
 	     &projRowTupleDesc,
 	     ExpTupleDesc::SHORT_FORMAT,
-	     deserColVIDList);
+	     deserColVIDList,
+	     dummy);
 	  
 	  workCriDesc->setTupleDescriptor(projRowTuppIndex, projRowTupleDesc);
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindRelExpr.cpp b/core/sql/optimizer/BindRelExpr.cpp
index 63329b1..c78a401 100644
--- a/core/sql/optimizer/BindRelExpr.cpp
+++ b/core/sql/optimizer/BindRelExpr.cpp
@@ -10115,7 +10115,7 @@ so that we can delete the old version of an updated row from the index.
 NABoolean Insert::isUpsertThatNeedsMerge() const
 {
   if (!isUpsert() || getIsTrafLoadPrep() || 
-      (systemGeneratesIdentityValue() && 
+      (getTableDesc()->isIdentityColumnGeneratedAlways() && 
        getTableDesc()->hasIdentityColumnInClusteringKey()) ||
       getTableDesc()->getClusteringIndex()->getNAFileSet()->hasSyskey() || 
       !(getTableDesc()->hasSecondaryIndexes()))
@@ -10126,23 +10126,13 @@ NABoolean Insert::isUpsertThatNeedsMerge() const
 RelExpr* Insert::xformUpsertToMerge(BindWA *bindWA) 
 {
 
-   if (getTableDesc()->getNATable()->hasSerializedColumn())
-  {
-    *CmpCommon::diags() << DgSqlCode(-3241) 
-                        << DgString0(" upsert on a serialzed table with indexes is not allowed.");
-    bindWA->setErrStatus();
-    return NULL;
-  } 
-
   const ValueIdList &tableCols = updateToSelectMap().getTopValues();
   const ValueIdList &sourceVals = updateToSelectMap().getBottomValues();
-
 		    
   Scan * inputScan =
     new (bindWA->wHeap())
     Scan(CorrName(getTableDesc()->getCorrNameObj(), bindWA->wHeap()));
 
-
   ItemExpr * keyPred = NULL;
   ItemExpr * keyPredPrev = NULL;
   ItemExpr * setAssign = NULL;
@@ -11303,13 +11293,8 @@ void GenericUpdate::bindUpdateExpr(BindWA        *bindWA,
    // allowing a VEG in this case causes corruption on base table key values because
    // we use the "old" value of key column from fetchReturnedExpr, which can be junk
    // in case there is no row to update/delete, and a brand bew row is being inserted
-
-   NABoolean xformedUpsert = FALSE ;
-   if (isMergeUpdate())
-     xformedUpsert = ((MergeUpdate *)this)->xformedUpsert();
-
-
-   if ((NOT onRollback) && (NOT xformedUpsert)){
+   NABoolean mergeWithIndex = isMerge() && getTableDesc()->hasSecondaryIndexes() ;
+   if ((NOT onRollback) && (NOT mergeWithIndex)){
      for (i = 0;i < totalColCount; i++){
        if (!(holeyArray.used(i))){
          oldToNewMap().addMapEntry(

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/optimizer/RelExeUtil.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.cpp b/core/sql/optimizer/RelExeUtil.cpp
index 6804b68..a73d9df 100644
--- a/core/sql/optimizer/RelExeUtil.cpp
+++ b/core/sql/optimizer/RelExeUtil.cpp
@@ -5527,7 +5527,7 @@ RelExpr * ExeUtilHBaseBulkLoad::bindNode(BindWA *bindWA)
   setUtilTableDesc(bindWA->createTableDesc(naTable, getTableName()));
   if (bindWA->errStatus())
     return this;
-  if ((CmpCommon::getDefault(COMP_BOOL_226) == DF_OFF) && 
+  if ((CmpCommon::getDefault(TRAF_LOAD_ALLOW_RISKY_INDEX_MAINTENANCE) == DF_OFF) && 
       getUtilTableDesc()->hasSecondaryIndexes() && 
       !(getUtilTableDesc()->isIdentityColumnGeneratedAlways() && 
         getUtilTableDesc()->hasIdentityColumnInClusteringKey()) &&

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/regress/hive/EXPECTED015
----------------------------------------------------------------------
diff --git a/core/sql/regress/hive/EXPECTED015 b/core/sql/regress/hive/EXPECTED015
index 6ab6b16..4acfe26 100644
--- a/core/sql/regress/hive/EXPECTED015
+++ b/core/sql/regress/hive/EXPECTED015
@@ -209,9 +209,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.T015T2
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.T015T2
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.T015T2
        Rows Processed: 5 
-Task:  PREPARATION     Status: Ended      ET: 00:00:00.186
+Task:  PREPARATION     Status: Ended      ET: 00:00:00.069
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.T015T2
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.509
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.274
 
 --- 5 row(s) loaded.
 >>
@@ -233,9 +233,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.T015T2
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.T015T2
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.T015T2
        Rows Processed: 5 
-Task:  PREPARATION     Status: Ended      ET: 00:00:00.193
+Task:  PREPARATION     Status: Ended      ET: 00:00:00.168
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.T015T2
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.155
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.142
 
 --- 5 row(s) loaded.
 >>
@@ -258,9 +258,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.T015T2
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.T015T2
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.T015T2
        Rows Processed: 5 
-Task:  PREPARATION     Status: Ended      ET: 00:00:00.194
+Task:  PREPARATION     Status: Ended      ET: 00:00:00.061
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.T015T2
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.819
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.255
 
 --- 5 row(s) loaded.
 >>
@@ -288,9 +288,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.T015T2
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.T015T2
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.T015T2
        Rows Processed: 5 
-Task:  PREPARATION     Status: Ended      ET: 00:00:00.192
+Task:  PREPARATION     Status: Ended      ET: 00:00:00.174
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.T015T2
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.521
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.264
 
 --- 5 row(s) loaded.
 >>
@@ -445,11 +445,11 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 ---- ---- ---- --------------------  --------  --------------------  ---------
 
 6    .    7    root                                                  1.73E+004
-5    .    6    esp_exchange                    1:5(hash2)            1.73E+004
+5    .    6    esp_exchange                    1:4(hash2)            1.73E+004
 3    4    5    tuple_flow                                            1.73E+004
 .    .    4    trafodion_load_prepa            CUSTOMER_ADDRESS      1.00E+000
 2    .    3    sort                                                  1.73E+004
-1    .    2    esp_exchange                    5(hash2):1            1.73E+004
+1    .    2    esp_exchange                    4(hash2):1            1.73E+004
 .    .    1    hive_scan                       CUSTOMER_ADDRESS      1.73E+004
 
 --- SQL operation complete.
@@ -461,9 +461,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRE
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:05.312
+Task:  PREPARATION     Status: Ended      ET: 00:00:09.205
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.642
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.288
 
 --- 5000 row(s) loaded.
 >>
@@ -528,10 +528,10 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 ---- ---- ---- --------------------  --------  --------------------  ---------
 
 5    .    6    root                                                  1.73E+004
-4    .    5    esp_exchange                    1:5(hash2)            1.73E+004
+4    .    5    esp_exchange                    1:4(hash2)            1.73E+004
 2    3    4    tuple_flow                                            1.73E+004
 .    .    3    trafodion_load_prepa            CUSTOMER_ADDRESS_NOP  1.00E+000
-1    .    2    esp_exchange                    5(hash2):1            1.73E+004
+1    .    2    esp_exchange                    4(hash2):1            1.73E+004
 .    .    1    hive_scan                       CUSTOMER_ADDRESS      1.73E+004
 
 --- SQL operation complete.
@@ -543,9 +543,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRE
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_ADDRESS_NOPK
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS_NOPK
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:01.371
+Task:  PREPARATION     Status: Ended      ET: 00:00:01.331
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS_NOPK
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.541
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.261
 
 --- 5000 row(s) loaded.
 >>
@@ -620,21 +620,21 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 ---- ---- ---- --------------------  --------  --------------------  ---------
 
 6    .    7    root                                                  8.96E+005
-5    .    6    esp_exchange                    1:5(hash2)            8.96E+005
+5    .    6    esp_exchange                    1:4(hash2)            8.96E+005
 3    4    5    tuple_flow                                            8.96E+005
 .    .    4    trafodion_load_prepa            CUSTOMER_DEMOGRAPHIC  1.00E+000
 2    .    3    sort                                                  8.96E+005
-1    .    2    esp_exchange                    5(hash2):2(hash2)     8.96E+005
+1    .    2    esp_exchange                    4(hash2):2(hash2)     8.96E+005
 .    .    1    hive_scan                       CUSTOMER_DEMOGRAPHIC  8.96E+005
 
 --- SQL operation complete.
 >>
 >>log LOG015_plan.log clear;
 ESP_EXCHANGE ==============================  SEQ_NO 6        ONLY CHILD 5
-  child_partitioning_func  hash2 partitioned 5 ways on
+  child_partitioning_func  hash2 partitioned 4 ways on
                              (HIVE.CUSTOMER_DEMOGRAPHICS.CD_DEMO_SK)
 ESP_EXCHANGE ==============================  SEQ_NO 2        ONLY CHILD 1
-  parent_partitioning_fun  hash2 partitioned 5 ways on
+  parent_partitioning_fun  hash2 partitioned 4 ways on
                              (HIVE.CUSTOMER_DEMOGRAPHICS.CD_DEMO_SK)
 >>
 >>load   into customer_demographics 
@@ -644,9 +644,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOG
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:03.149
+Task:  PREPARATION     Status: Ended      ET: 00:00:04.347
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
-Task:  COMPLETION      Status: Ended      ET: 00:00:00.601
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.361
 
 --- 5000 row(s) loaded.
 >>
@@ -750,9 +750,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOG
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:04.879
+Task:  PREPARATION     Status: Ended      ET: 00:00:07.800
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
-Task:  COMPLETION      Status: Ended      ET: 00:00:01.637
+Task:  COMPLETION      Status: Ended      ET: 00:00:02.215
 
 --- 5000 row(s) loaded.
 >>
@@ -1238,26 +1238,23 @@ LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
 ---- ---- ---- --------------------  --------  --------------------  ---------
 
 14   .    15   root                                                  8.96E+005
-13   .    14   esp_exchange                    1:5(hash2)            8.96E+005
+13   .    14   esp_exchange                    1:4(hash2)            8.96E+005
 11   12   13   nested_join                                           8.96E+005
 .    .    12   trafodion_load_prepa            CD_DEP_COUNT_IDX      1.00E+000
 10   .    11   sort                                                  8.96E+005
-9    .    10   esp_exchange                    5(hash2):5(hash2)     8.96E+005
+9    .    10   esp_exchange                    4(hash2):4(hash2)     8.96E+005
 7    8    9    nested_join                                           8.96E+005
 .    .    8    trafodion_load_prepa            CD_DEP_COLLEGE_COUNT  1.00E+000
 6    .    7    sort                                                  8.96E+005
-5    .    6    esp_exchange                    5(hash2):5(hash2)     8.96E+005
+5    .    6    esp_exchange                    4(hash2):4(hash2)     8.96E+005
 3    4    5    nested_join                                           8.96E+005
 .    .    4    trafodion_load_prepa            CUSTOMER_DEMOGRAPHIC  1.00E+000
 2    .    3    sort                                                  8.96E+005
-1    .    2    esp_exchange                    5(hash2):2(hash2)     8.96E+005
+1    .    2    esp_exchange                    4(hash2):2(hash2)     8.96E+005
 .    .    1    hive_scan                       CUSTOMER_DEMOGRAPHIC  8.96E+005
 
 --- SQL operation complete.
 >>
->>cqd comp_bool_226 'off' ;
-
---- SQL operation complete.
 >>load  into customer_demographics 
 +>select * from hive.hive.customer_demographics where cd_demo_sk <= 5000;
 Task: LOAD             Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
@@ -1265,9 +1262,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOG
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:06.496
+Task:  PREPARATION     Status: Ended      ET: 00:00:08.226
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
-Task:  COMPLETION      Status: Ended      ET: 00:00:02.109
+Task:  COMPLETION      Status: Ended      ET: 00:00:00.731
 
 --- 5000 row(s) loaded.
 >>
@@ -1308,11 +1305,11 @@ Task:  DISABLE INDEXE  Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOG
 Task:  DISABLE INDEXE  Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
        Rows Processed: 1000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:05.641
+Task:  PREPARATION     Status: Ended      ET: 00:00:05.645
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
-Task:  COMPLETION      Status: Ended      ET: 00:00:02.726
+Task:  COMPLETION      Status: Ended      ET: 00:00:01.342
 Task:  POPULATE INDEX  Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS
-Task:  POPULATE INDEX  Status: Ended      ET: 00:00:03.503
+Task:  POPULATE INDEX  Status: Ended      ET: 00:00:13.591
 
 --- 1000 row(s) loaded.
 >>
@@ -1357,11 +1354,11 @@ Task:  DISABLE INDEXE  Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOG
 Task:  DISABLE INDEXE  Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:05.263
+Task:  PREPARATION     Status: Ended      ET: 00:00:07.709
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
-Task:  COMPLETION      Status: Ended      ET: 00:00:02.292
+Task:  COMPLETION      Status: Ended      ET: 00:00:02.618
 Task:  POPULATE INDEX  Status: Started    Object: TRAFODION.HBASE.CUSTOMER_DEMOGRAPHICS_SALT
-Task:  POPULATE INDEX  Status: Ended      ET: 00:00:12.244
+Task:  POPULATE INDEX  Status: Ended      ET: 00:00:16.428
 
 --- 5000 row(s) loaded.
 >>
@@ -1400,10 +1397,6 @@ Task:  POPULATE INDEX  Status: Ended      ET: 00:00:12.244
 
 --- SQL operation complete.
 >>
->>cqd comp_bool_226 'on' ;
-
---- SQL operation complete.
->>
 >>-- --load with upsert using load
 >>-- drop table customer_demographics_salt cascade;
 >>-- drop table customer_demographics cascade;
@@ -1540,9 +1533,9 @@ Task:  CLEANUP         Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRE
 Task:  CLEANUP         Status: Ended      Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
 Task:  PREPARATION     Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
        Rows Processed: 5000 
-Task:  PREPARATION     Status: Ended      ET: 00:00:03.060
+Task:  PREPARATION     Status: Ended      ET: 00:00:04.631
 Task:  COMPLETION      Status: Started    Object: TRAFODION.HBASE.CUSTOMER_ADDRESS
-Task:  COMPLETION      Status: Ended      ET: 00:00:03.318
+Task:  COMPLETION      Status: Ended      ET: 00:00:02.150
 
 --- 5000 row(s) loaded.
 >>

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/regress/hive/TEST015
----------------------------------------------------------------------
diff --git a/core/sql/regress/hive/TEST015 b/core/sql/regress/hive/TEST015
index 3b0fb86..a0564bb 100644
--- a/core/sql/regress/hive/TEST015
+++ b/core/sql/regress/hive/TEST015
@@ -432,7 +432,6 @@ explain options 'f'
 load  transform into customer_demographics
 select * from hive.hive.customer_demographics where cd_demo_sk <= 5000;
 
-cqd comp_bool_226 'off' ;
 load  into customer_demographics 
 select * from hive.hive.customer_demographics where cd_demo_sk <= 5000;
 
@@ -462,8 +461,6 @@ select count(*) from table(index_table cd_dep_college_count_IDX2);
 drop index cd_dep_count_IDX2;
 drop index cd_dep_college_count_IDX2;
 
-cqd comp_bool_226 'on' ;
-
 -- --load with upsert using load
 -- drop table customer_demographics_salt cascade;
 -- drop table customer_demographics cascade;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/sqlcomp/DefaultConstants.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/DefaultConstants.h b/core/sql/sqlcomp/DefaultConstants.h
index 1ab4072..460051f 100644
--- a/core/sql/sqlcomp/DefaultConstants.h
+++ b/core/sql/sqlcomp/DefaultConstants.h
@@ -3754,6 +3754,8 @@ enum DefaultConstants
   UDR_JVM_DEBUG_PORT,
   UDR_JVM_DEBUG_TIMEOUT,
 
+  TRAF_LOAD_ALLOW_RISKY_INDEX_MAINTENANCE,
+
   // This enum constant must be the LAST one in the list; it's a count,
   // not an Attribute (it's not IN DefaultDefaults; it's the SIZE of it)!
   __NUM_DEFAULT_ATTRIBUTES

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/a6ec56ae/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp
index 5c786a0..693989c 100644
--- a/core/sql/sqlcomp/nadefaults.cpp
+++ b/core/sql/sqlcomp/nadefaults.cpp
@@ -1773,7 +1773,7 @@ SDDkwd__(EXE_DIAGNOSTIC_EVENTS,		"OFF"),
   DDflt0_(HBASE_SALTED_TABLE_MAX_FILE_SIZE,	"0"),
   DDkwd__(HBASE_SALTED_TABLE_SET_SPLIT_POLICY,	"ON"),
   DD_____(HBASE_SCHEMA,                         "HBASE"),
- DDkwd__(HBASE_SERIALIZATION,		"OFF"),
+ DDkwd__(HBASE_SERIALIZATION,		"ON"),
  
   DD_____(HBASE_SERVER,                         ""), 
   DDkwd__(HBASE_SQL_IUD_SEMANTICS,		"ON"),
@@ -3293,6 +3293,7 @@ XDDkwd__(SUBQUERY_UNNESTING,			"ON"),
 
   DDkwd__(TRAF_INDEX_ALIGNED_ROW_FORMAT,        "OFF"),   
   DDkwd__(TRAF_INDEX_CREATE_OPT,          "OFF"),
+  DDkwd__(TRAF_LOAD_ALLOW_RISKY_INDEX_MAINTENANCE,        "OFF"),
   DDkwd__(TRAF_LOAD_CONTINUE_ON_ERROR,          "OFF"),
   DD_____(TRAF_LOAD_ERROR_COUNT_ID,             "" ),
   DD_____(TRAF_LOAD_ERROR_COUNT_TABLE,          "ERRORCOUNTER" ),


[3/3] incubator-trafodion git commit: Merge remote branch 'origin/pr/65/head' into mrg_40

Posted by su...@apache.org.
Merge remote branch 'origin/pr/65/head' into mrg_40


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

Branch: refs/heads/master
Commit: 5928f31a1e20c70a528101487def3db0ef0ade9c
Parents: ed6512c c467b2d
Author: Suresh Subbiah <su...@apache.org>
Authored: Wed Aug 26 14:33:18 2015 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Wed Aug 26 14:33:18 2015 +0000

----------------------------------------------------------------------
 core/sql/executor/ExHbaseIUD.cpp       | 41 ++++++++++++--
 core/sql/generator/GenExpGenerator.cpp |  6 ++-
 core/sql/generator/GenExpGenerator.h   |  3 +-
 core/sql/generator/GenRelUpdate.cpp    | 12 +++--
 core/sql/optimizer/BindRelExpr.cpp     | 21 ++------
 core/sql/optimizer/RelExeUtil.cpp      |  2 +-
 core/sql/regress/hive/EXPECTED015      | 83 +++++++++++++----------------
 core/sql/regress/hive/TEST015          |  3 --
 core/sql/sqlcomp/DefaultConstants.h    |  1 +
 core/sql/sqlcomp/nadefaults.cpp        |  3 +-
 10 files changed, 98 insertions(+), 77 deletions(-)
----------------------------------------------------------------------



[2/3] incubator-trafodion git commit: Merge branch 'master' into jira_bugs2

Posted by su...@apache.org.
Merge branch 'master' into jira_bugs2

Conflicts:
	core/sql/sqlcomp/DefaultConstants.h


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

Branch: refs/heads/master
Commit: c467b2d8a87e2d39b60cb5ce4a03f66d9da79df6
Parents: a6ec56a 7dece12
Author: Suresh Subbiah <su...@apache.org>
Authored: Tue Aug 25 15:27:36 2015 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Tue Aug 25 15:27:36 2015 +0000

----------------------------------------------------------------------
 .../sqf/export/limited-support-tools/LSO/README |  139 +--
 .../LSO/active_queries.sql                      |   17 +
 .../export/limited-support-tools/LSO/offender   |    8 +-
 core/sqf/sqenvcom.sh                            |   53 +-
 core/sql/bin/SqlciErrors.txt                    |   14 +-
 core/sql/cli/SessionDefaults.cpp                |    3 -
 core/sql/cli/SessionDefaults.h                  |    9 -
 core/sql/cli/Statement.cpp                      |    7 +-
 core/sql/cli/sqlcli.h                           |    3 +-
 core/sql/comexe/ComTdb.h                        |    5 +-
 core/sql/common/CharType.cpp                    |  266 ++---
 core/sql/common/CharType.h                      |    7 +
 core/sql/common/ComMisc.cpp                     |   14 +
 core/sql/common/ComMisc.h                       |    5 +
 core/sql/common/ComObjectName.h                 |   47 +
 core/sql/common/ComSmallDefs.cpp                |    4 +-
 core/sql/common/ComSmallDefs.h                  |   30 +-
 core/sql/common/IntervalType.cpp                |    2 +-
 core/sql/common/NAType.h                        |    7 +
 core/sql/common/OperTypeEnum.h                  |    2 -
 core/sql/common/csconvert.cpp                   |   21 +
 core/sql/common/csconvert.h                     |   14 +-
 core/sql/executor/ExExplain.cpp                 |    9 +
 core/sql/executor/ExStats.cpp                   |   52 +
 core/sql/executor/ex_control.cpp                |    7 -
 core/sql/generator/Generator.cpp                |    2 +
 core/sql/optimizer/BindItemExpr.cpp             |   14 +-
 core/sql/optimizer/BindRelExpr.cpp              |   20 +-
 core/sql/optimizer/EncodedKeyValue.cpp          |    1 +
 core/sql/optimizer/ItemCache.cpp                |    1 -
 core/sql/optimizer/ItemColRef.h                 |   10 -
 core/sql/optimizer/ItemExpr.cpp                 |  113 +-
 core/sql/optimizer/NATable.cpp                  |  396 +++++--
 core/sql/optimizer/NATable.h                    |   20 +-
 core/sql/optimizer/ObjectNames.h                |   29 +-
 core/sql/optimizer/QRDescGenerator.cpp          |    4 +-
 core/sql/optimizer/RelExeUtil.cpp               |   47 +-
 core/sql/parser/AllElemDDL.h                    |    1 -
 core/sql/parser/ElemDDLIndexPopulateOption.h    |    6 +-
 core/sql/parser/ElemDDLNode.cpp                 |   20 +-
 core/sql/parser/ElemDDLNode.h                   |    6 -
 core/sql/parser/ElemDDLPartition.cpp            |   54 -
 core/sql/parser/ElemDDLPartitionSystem.h        |   69 --
 core/sql/parser/ParAll.cpp                      |    1 -
 core/sql/parser/SqlParserAux.cpp                |   83 ++
 core/sql/parser/SqlParserAux.h                  |   65 ++
 core/sql/parser/StmtDDLCreate.cpp               |  145 +--
 core/sql/parser/StmtDDLCreateIndex.h            |   46 -
 core/sql/parser/StmtDDLCreateTable.h            |   89 +-
 core/sql/parser/StmtDDLNode.h                   |   11 +-
 core/sql/parser/sqlparser.y                     |  410 +++----
 core/sql/regress/catman1/EXPECTED135            |    8 +-
 core/sql/regress/charsets/DIFF002.KNOWN.SB      |   14 -
 core/sql/regress/charsets/DIFF002.KNOWN.SB.OS   |   14 -
 core/sql/regress/charsets/EXPECTED002           |  260 +++++
 core/sql/regress/charsets/EXPECTED002.SB        |  254 -----
 core/sql/regress/charsets/EXPECTED003           |  217 ++++
 core/sql/regress/charsets/EXPECTED003.SB        |  217 ----
 core/sql/regress/charsets/EXPECTED012           |  205 ++++
 core/sql/regress/charsets/EXPECTED012.SB        |  205 ----
 core/sql/regress/compGeneral/DIFF042.KNOWN.SB   |   24 -
 core/sql/regress/compGeneral/EXPECTED042        |  134 +--
 core/sql/regress/compGeneral/EXPECTED071        |    8 +-
 core/sql/regress/compGeneral/EXPECTEDTOK2       |   46 +
 core/sql/regress/compGeneral/EXPECTEDTOK2.LINUX |   46 -
 core/sql/regress/compGeneral/TEST015            |   10 +-
 core/sql/regress/compGeneral/TEST042            |   16 +-
 core/sql/regress/core/TEST056                   |   10 +-
 core/sql/regress/executor/EXPECTED106           | 1074 +++++++++---------
 core/sql/regress/executor/TEST106               |  270 ++---
 core/sql/regress/hive/EXPECTED009               |  275 +++++
 core/sql/regress/hive/TEST009                   |  106 ++
 core/sql/regress/hive/TEST009_a.hive.sql        |   64 ++
 core/sql/sqlcat/desc.h                          |    1 +
 core/sql/sqlcomp/CmpDDLCatErrorCodes.h          |    4 +-
 core/sql/sqlcomp/CmpDescribe.cpp                |   27 +-
 core/sql/sqlcomp/CmpSeabaseDDL.h                |   46 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp        |  342 ++++--
 core/sql/sqlcomp/CmpSeabaseDDLindex.cpp         |   21 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h              |   10 +
 core/sql/sqlcomp/CmpSeabaseDDLroutine.cpp       |   46 +-
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp         |  646 ++++++++---
 core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp       |    9 +-
 core/sql/sqlcomp/CmpSeabaseDDLutil.cpp          |    3 +-
 core/sql/sqlcomp/CmpSeabaseDDLview.cpp          |   53 +-
 core/sql/sqlcomp/DefaultConstants.h             |    1 +
 core/sql/sqlcomp/PrivMgrMD.cpp                  |    8 +-
 core/sql/sqlcomp/nadefaults.cpp                 |    8 +-
 .../installer/tools/traf_hortonworks_uninstall  |    2 +
 .../tools/traf_hortonworks_uninstall_suse       |    2 +
 install/installer/traf_add_user                 |    4 +
 install/installer/traf_cloudera_mods98          |   13 +-
 install/installer/traf_config_setup             |    9 +-
 install/installer/traf_getHadoopNodes           |   16 +
 install/installer/traf_hortonworks_mods98       |   22 +-
 install/installer/traf_setup                    |   27 +-
 install/installer/traf_start                    |   18 +-
 install/installer/trafodion_uninstaller         |   14 +-
 pom.xml                                         |   14 +-
 99 files changed, 4047 insertions(+), 3204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c467b2d8/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c467b2d8/core/sql/optimizer/RelExeUtil.cpp
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c467b2d8/core/sql/sqlcomp/DefaultConstants.h
----------------------------------------------------------------------
diff --cc core/sql/sqlcomp/DefaultConstants.h
index 460051f,990fc5d..9d61b40
--- a/core/sql/sqlcomp/DefaultConstants.h
+++ b/core/sql/sqlcomp/DefaultConstants.h
@@@ -3754,7 -3754,7 +3754,8 @@@ enum DefaultConstant
    UDR_JVM_DEBUG_PORT,
    UDR_JVM_DEBUG_TIMEOUT,
  
 +  TRAF_LOAD_ALLOW_RISKY_INDEX_MAINTENANCE,
+   HBASE_RANGE_PARTITIONING_PARTIAL_COLS,
  
    // This enum constant must be the LAST one in the list; it's a count,
    // not an Attribute (it's not IN DefaultDefaults; it's the SIZE of it)!

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c467b2d8/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------