[5/6] incubator-trafodion git commit: [TRAFODION-2140] Add code for Incremental Update Statistics

2016-08-10 Thread sureshs
[TRAFODION-2140] Add code for Incremental Update Statistics


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

Branch: refs/heads/master
Commit: d7ebca78ed7bb9f5a05c91912138acebf1548a00
Parents: 021ebd6 87e4ca4
Author: Barry Fritchman 
Authored: Wed Aug 10 08:31:19 2016 +
Committer: Barry Fritchman 
Committed: Wed Aug 10 08:31:19 2016 +

--
 .../jdbc/t4/TrafT4PreparedStatement.java|   2 +-
 .../odbc/src/odbc/nsksrvrcore/srvrothers.cpp|  77 ++-
 core/sqf/sql/scripts/keepHBaseUp.py | 113 
 .../transactional/TransactionManager.java   | 520 ---
 core/sqf/src/tm/tmlogging.cpp   | 138 +++--
 core/sqf/src/tm/tmlogging.h |   2 -
 core/sql/bin/SqlciErrors.txt|   2 +
 core/sql/comexe/ComTdbExeUtil.cpp   |   3 +-
 core/sql/comexe/ComTdbExeUtil.h |  89 +++-
 core/sql/common/CharType.cpp|   4 +-
 core/sql/common/OperTypeEnum.h  |   1 +
 core/sql/common/str.cpp |  23 +-
 core/sql/executor/ExExeUtil.h   |  48 +-
 core/sql/executor/ExExeUtilCommon.cpp   |  31 ++
 core/sql/executor/ExExeUtilGet.cpp  | 396 --
 core/sql/executor/ExExplain.cpp |  26 +-
 core/sql/executor/ExHdfsScan.cpp|  52 +-
 core/sql/executor/HBaseClient_JNI.cpp   |  48 +-
 core/sql/executor/HBaseClient_JNI.h |   2 +
 core/sql/exp/ExpHbaseInterface.cpp  |  20 +
 core/sql/exp/ExpHbaseInterface.h|   3 +
 core/sql/exp/ExpLOBaccess.cpp   |   2 +-
 core/sql/generator/GenRelExeUtil.cpp|  39 +-
 core/sql/generator/GenRelScan.cpp   |  13 +-
 core/sql/optimizer/BindRelExpr.cpp  | 131 -
 core/sql/optimizer/EncodedKeyValue.cpp  |  18 +-
 core/sql/optimizer/OptRange.cpp |  17 +-
 core/sql/optimizer/RelExeUtil.cpp   |   9 +-
 core/sql/optimizer/RelExeUtil.h |  23 +-
 core/sql/optimizer/RelExpr.cpp  |  17 +
 core/sql/optimizer/RelSet.h |  23 +
 core/sql/parser/sqlparser.y |  40 +-
 core/sql/regress/compGeneral/EXPECTED001.SB |  10 +
 core/sql/regress/compGeneral/EXPECTED042|   8 +-
 core/sql/regress/compGeneral/TEST001|   1 +
 core/sql/regress/hive/EXPECTED002   |   4 +-
 core/sql/regress/seabase/EXPECTED002| 174 ++-
 core/sql/regress/seabase/EXPECTED031| 124 -
 core/sql/regress/seabase/FILTER002  |   4 +-
 core/sql/regress/seabase/TEST002|  38 +-
 core/sql/regress/seabase/TEST031|  19 +
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp |   2 +
 core/sql/sqlcomp/nadefaults.cpp |   3 +-
 .../java/org/trafodion/sql/HBaseClient.java | 124 -
 .../java/org/trafodion/sql/TrafRegionStats.java | 118 -
 .../trafodion/jdbc_test/TestGetIndexInfo.java   | 196 +++
 46 files changed, 2129 insertions(+), 628 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/d7ebca78/core/sql/bin/SqlciErrors.txt
--

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/d7ebca78/core/sql/regress/seabase/EXPECTED002
--
diff --cc core/sql/regress/seabase/EXPECTED002
index 2888c5b,73a9b91..2f3645c
--- a/core/sql/regress/seabase/EXPECTED002
+++ b/core/sql/regress/seabase/EXPECTED002
@@@ -447,36 -459,9 +461,38 @@@ Stats Summar
  Stats Details
  =
  
+   RegionServer:   ansharma-3:44229
RegionNum:  1
 -  RegionName: TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS/1470338660549
 +  RegionName: 
TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS/72bc6242dfa139b77bd15125cf46593f
 +  NumStores:  2
 +  NumStoreFiles:  0
 +  UncompressedSize:   0 (less than 1MB)
 +  StoreFileSize:  0 (less than 1MB)
 +  MemStoreSize:   0 (less than 1MB)
 +  ReadRequestsCount:  0
 +  WriteRequestsCount: 0
 +
 +
 +Stats Summary
 +=
 +
 +  ObjectName:  TRAFODION.T002SCH.SB_PERSISTENT_SAMPLES
 +  NumRegions:  1
 +  RegionsLocation: /hbase/data/default
 +  TotalNumStores:  2
 +  TotalNumStoreFiles:  0
 +  TotalUncompressedSize:   0
 +  TotalStoreFileSize:  0
 +  TotalMemStoreSize:   0
 +  TotalReadRequestsCount:  0
 +  TotalWriteReques

[6/6] incubator-trafodion git commit: Merge [TRAFODION-2140] PR-651 Add capability for incremental Update Statistics

2016-08-10 Thread sureshs
Merge [TRAFODION-2140] PR-651 Add capability for incremental Update Statistics


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

Branch: refs/heads/master
Commit: dda167cb0164866e9561b79ec2d5c524552800e9
Parents: 3cdea3f d7ebca7
Author: Suresh Subbiah 
Authored: Wed Aug 10 22:59:11 2016 +
Committer: Suresh Subbiah 
Committed: Wed Aug 10 22:59:11 2016 +

--
 core/sql/bin/SqlciErrors.txt   |   10 +-
 core/sql/common/ComSmallDefs.h |4 +
 core/sql/common/NAString.cpp   |7 +
 core/sql/optimizer/RelSample.cpp   |1 -
 core/sql/regress/compGeneral/EXPECTED023   |  559 ++
 core/sql/regress/compGeneral/FILTER023 |   36 +
 core/sql/regress/compGeneral/TEST023   |  273 +++
 core/sql/regress/core/EXPECTED116  |3 +
 core/sql/regress/executor/EXPECTED130  |1 +
 core/sql/regress/hive/EXPECTED009  |1 +
 core/sql/regress/privs1/EXPECTED132|5 +
 core/sql/regress/privs1/EXPECTED133|  Bin 26390 -> 27095 bytes
 core/sql/regress/privs1/EXPECTED141|  Bin 113222 -> 123489 bytes
 core/sql/regress/privs1/TEST132|2 +-
 core/sql/regress/privs2/EXPECTED138|   24 +-
 core/sql/regress/privs2/EXPECTED140|   25 +-
 core/sql/regress/seabase/EXPECTED002   |   61 +-
 core/sql/regress/seabase/EXPECTED012   |1 +
 core/sql/regress/seabase/EXPECTED026   |   24 +-
 core/sql/regress/tools/runregr_compGeneral.ksh |2 +-
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp  |5 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp   |   69 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h |   25 +
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp|8 +-
 core/sql/ustat/hs_auto.h   |4 +-
 core/sql/ustat/hs_cli.cpp  |  831 +
 core/sql/ustat/hs_cli.h|   81 +-
 core/sql/ustat/hs_const.h  |   11 +-
 core/sql/ustat/hs_globals.cpp  | 1822 +--
 core/sql/ustat/hs_globals.h|  110 +-
 core/sql/ustat/hs_la.cpp   |   24 +
 core/sql/ustat/hs_la.h |   24 +-
 core/sql/ustat/hs_log.h|   21 +-
 core/sql/ustat/hs_parser.cpp   |4 +
 core/sql/ustat/hs_update.cpp   |3 -
 core/sql/ustat/hs_yacc.y   |   65 +-
 36 files changed, 2994 insertions(+), 1152 deletions(-)
--




[1/6] incubator-trafodion git commit: [TRAFODION-2140] Move IUS feature to open source

2016-08-10 Thread sureshs
Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 3cdea3f9b -> dda167cb0


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/ustat/hs_globals.h
--
diff --git a/core/sql/ustat/hs_globals.h b/core/sql/ustat/hs_globals.h
index e3d22e1..10381a8 100644
--- a/core/sql/ustat/hs_globals.h
+++ b/core/sql/ustat/hs_globals.h
@@ -73,7 +73,7 @@ class AbstractFastStatsHist;
 Lng32 AddNecessaryColumns();
 Lng32 AddAllColumnsForIUS();
 
-Lng32 createSampleOption(Lng32 sampleType, double samplePercent, NAString 
&sampleOpt,
+void createSampleOption(Lng32 sampleType, double samplePercent, NAString 
&sampleOpt,
 Int64 sampleValue1=0, Int64 sampleValue2=0);
 Lng32 doubleToHSDataBuffer(const double dbl, HSDataBuffer& dbf);
 Lng32 managePersistentSamples();
@@ -1135,6 +1135,7 @@ struct HSColGroupStruct : public NABasicObject
 Int64prevUEC;  /* uec from existing 
histogram */
 Int64colSecs;  /* Time to sort/group data 
for column */
 CountingBloomFilter* cbf;  /* A bloom filter for IUS */
+NAString& cbfFileNameSuffix() { return *colSet[0].colname; }
 
 void* boundaryValues;  /* List of bounary values 
for IUS */
 void* MFVValues;   /* List of MFV values for 
IUS */
@@ -1157,6 +1158,7 @@ struct HSColGroupStruct : public NABasicObject
/* are used by its 
neighbors. Used to compute group weight */
 
 NABoolean allKeysInsertedIntoCBF;
+Int32backwardWarningCount;  // for 
UERR_UNEXPECTED_BACKWARDS_DATA warnings
 
 #ifdef _TEST_ALLOC_FAILURE
 // Stuff used to test memory allocation failures.
@@ -1202,13 +1204,7 @@ class IUSValueIterator
 virtual ~IUSValueIterator()
 {}
 
-void init(HSColGroupStruct* group)
-{
-  // Strings must be contiguous in the strData buffer for this iterator to
-  // work correctly.
-  HS_ASSERT(group->strDataConsecutive);
-  vp = (T*)group->data;
-}
+void init(HSColGroupStruct* group);
 
 void next()
 {
@@ -1357,6 +1353,9 @@ public:
 void getMemoryRequirementsForOneMCGroup(HSColGroupStruct* group, Int64 
rows);
 
 static Int32 allocateMemoryForColumns(HSColGroupStruct* group, Int64 rows, 
HSColGroupStruct* mgr = NULL /* used for MC IS */);
+static Int32 allocateMemoryForIUSColumns(HSColGroupStruct* group, Int64 
rows,
+ HSColGroupStruct* delGroup, Int64 
delRows,
+ HSColGroupStruct* insGroup, Int64 
insRows);
 
 // For internal sort or IUS, remove and count nulls for each column from 
the
 // rowset just read.
@@ -1484,6 +1483,9 @@ public:
 //Log the current contents of this class.
 void log(HSLogMan* LM);
 
+// Takes action necessary before throwing exception for an assertion 
failure.
+void preAssertionFailure(const char* condition, const char* fileName, 
Lng32 lineNum);
+
 // Derive a return code from the contents of the diagnostics area.
 Lng32 getRetcodeFromDiags();
 
@@ -1502,14 +1504,20 @@ public:
  NABoolean forceToFetch = TRUE);
 Lng32 updatePersistentSampleTableForIUS(NAString& sampleTableName, double 
sampleRate,
 NAString& targetTableName);
+void generateIUSDeleteQuery(const NAString& smplTable, NAString& 
queryText);
+void generateIUSSelectInsertQuery(const NAString& smplTable,
+  const NAString& sourceTable,
+  NAString& queryText);
+void getCBFFilePrefix(NAString& sampleTableName, NAString& filePrefix);
 void detectPersistentCBFsForIUS(NAString& sampleTableName, 
HSColGroupStruct *group);
+Lng32 UpdateIUSPersistentSampleTable(Int64 oldSampleSize, Int64 
requestedSampleSize, Int64& newSampleSize);
 Lng32 readCBFsIntoMemForIUS(NAString& sampleTableName, HSColGroupStruct* 
group);
 Lng32 writeCBFstoDiskForIUS(NAString& sampleTableName, HSColGroupStruct* 
group);
-Lng32 deletePersistentCBFsForIUS(NAString& sampleTableName, 
HSColGroupStruct* group);
+Lng32 deletePersistentCBFsForIUS(NAString& sampleTableName, 
HSColGroupStruct* group, SortState stateToDelete);
 
 void logDiagArea(const char* title);
 
-Lng32 begin_IUS_work(char* buffer);
+Lng32 begin_IUS_work();
 Lng32 end_IUS_work();
 
 // Populate the hash table used to determine when a ustat statement has run
@@ -1579,6 +1587,7 @@ public:
 Int64  numPartitions;  /* # of partns in object   
*/
 NAString  *hstogram_table; /* HISTOGRM table  
*/
 NAString  *hsintval_table; /* HISTINT

[2/6] incubator-trafodion git commit: [TRAFODION-2140] Move IUS feature to open source

2016-08-10 Thread sureshs
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/ustat/hs_globals.cpp
--
diff --git a/core/sql/ustat/hs_globals.cpp b/core/sql/ustat/hs_globals.cpp
index aa1c860..43f582e 100644
--- a/core/sql/ustat/hs_globals.cpp
+++ b/core/sql/ustat/hs_globals.cpp
@@ -120,6 +120,8 @@ Lng32 setBufferValue(MCWrapper& value, const 
HSColGroupStruct *mgroup, HSDataBuf
 template 
 void createHistogram(HSColGroupStruct *group, Lng32 numIntervals, Int64 
estRowCount, NABoolean usingSample, T* dummyPtr);
 
+static Lng32 drop_I(NAString& sampTblName);
+
 //
 // Initialize the GLOBAL instances of ISFixedChar and ISVarChar values.
 // See the "as lightweight as possible" comments in hs_globals.h
@@ -1413,7 +1415,8 @@ HSColGroupStruct::HSColGroupStruct()
 mcis_colsMissingMap(NULL), mcis_memFreed(FALSE),
 mcis_totalMCmemNeeded(0), mcis_groupHead(TRUE), mcis_next(NULL), 
mcis_readAsIs (FALSE),
 delayedRead(FALSE), cbf(NULL),
-boundaryValues(NULL), MFVValues(NULL), allKeysInsertedIntoCBF(FALSE)
+boundaryValues(NULL), MFVValues(NULL), allKeysInsertedIntoCBF(FALSE),
+backwardWarningCount(0)
   {
 strcpy(readTime, "0001-01-01 00:00:00");  // default if new
 #ifdef _TEST_ALLOC_FAILURE
@@ -1583,6 +1586,13 @@ NABoolean HSColGroupStruct::allocateISMemory(Int64 rows,
 // avoid freeing strData when this fn is called to remove the old data array.
 void HSColGroupStruct::freeISMemory(NABoolean freeStrData, NABoolean 
freeMCData)
 {
+  HSLogMan *LM = HSLogMan::Instance();
+  if (LM->LogNeeded())
+{
+  sprintf(LM->msg, "Freeing IS memory for column %s", colNames->data());
+  LM->Log(LM->msg);
+}
+
   // used by MC in-memory since a column might have been processed but kept
   // in memory to be used by MCs
   mcis_memFreed = TRUE;
@@ -2835,6 +2845,7 @@ HSGlobalsClass::HSGlobalsClass(ComDiagsArea &diags)
 numPartitions(0),
 hstogram_table(new(STMTHEAP) NAString(STMTHEAP)),
 hsintval_table(new(STMTHEAP) NAString(STMTHEAP)),
+hsperssamp_table(new(STMTHEAP) NAString(STMTHEAP)),
 hssample_table(new(STMTHEAP) NAString(STMTHEAP)),
 statstime(new(STMTHEAP) NAString(STMTHEAP)),
 
@@ -2865,9 +2876,13 @@ HSGlobalsClass::HSGlobalsClass(ComDiagsArea &diags)
 //iusSampleInMem(NULL),
 iusSampleDeletedInMem(NULL),
 iusSampleInsertedInMem(NULL),
+sampleIExists_(FALSE),
+PST_IUSrequestedSampleRows_(NULL),
+PST_IUSactualSampleRows_(NULL),
 sampleRateAsPercetageForIUS(0),
 minRowCtPerPartition_(-1),
 sample_I_generated(FALSE),
+PSRowUpdated(FALSE),
 jitLogThreshold(0),
 stmtStartTime(0),
 jitLogOn(FALSE),
@@ -2898,6 +2913,16 @@ HSGlobalsClass::HSGlobalsClass(ComDiagsArea &diags)
 
 HSGlobalsClass::~HSGlobalsClass()
 {
+  // If this was an IUS execution, make sure the row for the source table in
+  // SB_PERSISTENT_SAMPLES is modified to reflect that an IUS operation is no
+  // longer in progress.
+  if (PSRowUpdated)
+end_IUS_work();
+
+  // Used in end_IUS_work(), must call it first.
+  NADELETEBASIC(PST_IUSrequestedSampleRows_, STMTHEAP);
+  NADELETEBASIC(PST_IUSactualSampleRows_, STMTHEAP);
+
   // reset the parser flags that were set in the constructor
   SQL_EXEC_ResetParserFlagsForExSqlComp_Internal(savedParserFlags);
 
@@ -3035,7 +3060,7 @@ Lng32 HSGlobalsClass::Initialize()
  inserts, deletes, updates,
  numPartitions,
  minRowCtPerPartition_,
- optFlags & SAMPLE_REQUESTED);
+ optFlags & (SAMPLE_REQUESTED | 
IUS_OPT));
 LM->StopTimer();
 if (LM->LogNeeded())
   {
@@ -3403,7 +3428,7 @@ NABoolean HSGlobalsClass::isAuthorized(NABoolean 
isShowStats)
 return TRUE;
 
// no privilege support available for hbase and hive tables
-   assert (objDef->getNATable());
+   HS_ASSERT (objDef->getNATable());
if (CmpSeabaseDDL::isHbase(objDef->getCatName()) || 
isHiveCat(objDef->getCatName()))
  return TRUE;
 
@@ -3621,14 +3646,104 @@ void HSGlobalsClass::startJitLogging(const char* 
checkPointName, Int64 elapsedSe
 }
 }
 
+// The optimal degree of parallelism for a LOAD or UPSERT is the number of
+// partitions of the source table. This forces that by setting the cqd
+// PARALLEL_NUM_ESPS. Note that when the default for 
AGGRESSIVE_ESP_ALLOCATION_PER_CORE
+// is permanently changed to 'ON', we may be able to remove this.
+// tblDef -- ptr to HSTableDef from which to get the catalog and schema name of
+//   the source table.
+// tblName -- unqualified name of the source table. If NULL, then the source
+//table is the one represented by tblDef.
+// Returns TRUE if the cqd was successfully set, FALSE otherwise. If TRUE is 
returned,
+// then resetEspParallelism() may be called to reset 

[3/6] incubator-trafodion git commit: [TRAFODION-2140] Move IUS feature to open source

2016-08-10 Thread sureshs
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/regress/seabase/EXPECTED002
--
diff --git a/core/sql/regress/seabase/EXPECTED002 
b/core/sql/regress/seabase/EXPECTED002
index 83a8bb5..2888c5b 100644
--- a/core/sql/regress/seabase/EXPECTED002
+++ b/core/sql/regress/seabase/EXPECTED002
@@ -183,8 +183,9 @@ T002SCH.T002T2  
 1
 T002SCH.T002T2   0 
 ReadRequestsCount: 1   WriteRequestsCount: 1 
 T002SCH.SB_HIS   0 
 ReadRequestsCount: 0   WriteRequestsCount: 0 
 T002SCH.T002T1   0 
 ReadRequestsCount: 2   WriteRequestsCount: 1 
+T002SCH.SB_PER   0 
 ReadRequestsCount: 0   WriteRequestsCount: 0 
 
 3 row(s) selected.
+--- 4 row(s) selected.
 >>
 >>select left(trim(schema_name) || '.' || trim(object_name), 14),
 +> sum(store_file_size), 
@@ -200,8 +201,9 @@ T002SCH.T002T1  
 0
 T002SCH.T002T2   0 
 ReadRequestsCount: 1   WriteRequestsCount: 1 
 T002SCH.SB_HIS   0 
 ReadRequestsCount: 0   WriteRequestsCount: 0 
 T002SCH.T002T1   0 
 ReadRequestsCount: 2   WriteRequestsCount: 1 
+T002SCH.SB_PER   0 
 ReadRequestsCount: 0   WriteRequestsCount: 0 
 
 3 row(s) selected.
+--- 4 row(s) selected.
 >>
 >>get region stats for table t002t1;
 
@@ -446,7 +448,35 @@ Stats Details
 =
 
   RegionNum:  1
-  RegionName: 
TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS/94b6ffefc5df9a62180e5a2401e18d9e
+  RegionName: 
TRAFODION.T002SCH.SB_HISTOGRAM_INTERVALS/72bc6242dfa139b77bd15125cf46593f
+  NumStores:  2
+  NumStoreFiles:  0
+  UncompressedSize:   0 (less than 1MB)
+  StoreFileSize:  0 (less than 1MB)
+  MemStoreSize:   0 (less than 1MB)
+  ReadRequestsCount:  0
+  WriteRequestsCount: 0
+
+
+Stats Summary
+=
+
+  ObjectName:  TRAFODION.T002SCH.SB_PERSISTENT_SAMPLES
+  NumRegions:  1
+  RegionsLocation: /hbase/data/default
+  TotalNumStores:  2
+  TotalNumStoreFiles:  0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:  0
+  TotalMemStoreSize:   0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Details
+=
+
+  RegionNum:  1
+  RegionName: 
TRAFODION.T002SCH.SB_PERSISTENT_SAMPLES/121ea772487c23e7f165e29db4647fd4
   NumStores:  2
   NumStoreFiles:  0
   UncompressedSize:   0 (less than 1MB)
@@ -733,6 +763,20 @@ Stats Summary
 Stats Summary
 =
 
+  ObjectName:  TRAFODION.T002SCH.SB_PERSISTENT_SAMPLES
+  NumRegions:  1
+  RegionsLocation: /hbase/data/default
+  TotalNumStores:  2
+  TotalNumStoreFiles:  0
+  TotalUncompressedSize:   0
+  TotalStoreFileSize:  0
+  TotalMemStoreSize:   0
+  TotalReadRequestsCount:  0
+  TotalWriteRequestsCount: 0
+
+Stats Summary
+=
+
   ObjectName:  TRAFODION.T002SCH.T002T1
   NumRegions:  1
   RegionsLocation: /hbase/data/default

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/regress/seabase/EXPECTED012
--
diff --git a/core/sql/regress/seabase/EXPECTED012 
b/core/sql/regress/seabase/EXPECTED012
index 4db69b5..e43f13c 100644
--- a/core/sql/regress/seabase/EXPECTED012
+++ b/core/sql/regress/seabase/EXPECTED012
@@ -284,6 +284,7 @@ Tables in Schema TRAFODION.ZSCHEMA
 
 SB_HISTOGRAMS
 SB_HISTOGRAM_INTERVALS
+SB_PERSISTENT_SAMPLES
 T012T11
 T012T12
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/regress/seabase/EXPECTED026
--
diff --git a/core/sql/regress/seabase/EXPECTED026 
b/core/sql/regress/seabase/EXPECTED026
index d7b96bc..4151c08 100644
--- a/core/sql/regress/seabase/EXPECTED026
+++ b/core/sql/regress/seabase/EXPECTED026
@@ -221,7 +221,7 @@
 >>delete from "_MD_".objects where catalog_name = 'TRAFODION' and
 +> schema_name = 'SCH026' and object_type = 'PK';
 
 6 row(s) deleted.
+--- 7 row(s) deleted.
 >>cqd hide_indexes reset;
 
 --- SQL operation complete.
@@ -292,7 +292,7 @@ Metadata Cleanup: started, check only
   End:   Cleanup Orphan Hbase Entries (0 entries found)
 
   Start: Clean

[4/6] incubator-trafodion git commit: [TRAFODION-2140] Move IUS feature to open source

2016-08-10 Thread sureshs
[TRAFODION-2140] Move IUS feature to open source


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

Branch: refs/heads/master
Commit: 021ebd6cfec18db6f616fbfc08ee2a4bf3bb4b33
Parents: 37901fb
Author: Barry Fritchman 
Authored: Tue Aug 9 17:19:07 2016 +
Committer: Barry Fritchman 
Committed: Tue Aug 9 17:19:07 2016 +

--
 core/sql/bin/SqlciErrors.txt   |   10 +-
 core/sql/common/ComSmallDefs.h |4 +
 core/sql/common/NAString.cpp   |7 +
 core/sql/optimizer/RelSample.cpp   |1 -
 core/sql/regress/compGeneral/EXPECTED023   |  559 ++
 core/sql/regress/compGeneral/FILTER023 |   36 +
 core/sql/regress/compGeneral/TEST023   |  273 +++
 core/sql/regress/core/EXPECTED116  |3 +
 core/sql/regress/executor/EXPECTED130  |1 +
 core/sql/regress/hive/EXPECTED009  |1 +
 core/sql/regress/privs1/EXPECTED132|5 +
 core/sql/regress/privs1/EXPECTED133|  Bin 26390 -> 27095 bytes
 core/sql/regress/privs1/EXPECTED141|  Bin 113222 -> 123489 bytes
 core/sql/regress/privs1/TEST132|2 +-
 core/sql/regress/privs2/EXPECTED138|   24 +-
 core/sql/regress/privs2/EXPECTED140|   25 +-
 core/sql/regress/seabase/EXPECTED002   |   50 +-
 core/sql/regress/seabase/EXPECTED012   |1 +
 core/sql/regress/seabase/EXPECTED026   |   24 +-
 core/sql/regress/tools/runregr_compGeneral.ksh |2 +-
 core/sql/sqlcomp/CmpSeabaseDDLcleanup.cpp  |5 +-
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp   |   69 +-
 core/sql/sqlcomp/CmpSeabaseDDLmd.h |   25 +
 core/sql/sqlcomp/CmpSeabaseDDLtable.cpp|8 +-
 core/sql/ustat/hs_auto.h   |4 +-
 core/sql/ustat/hs_cli.cpp  |  831 +
 core/sql/ustat/hs_cli.h|   81 +-
 core/sql/ustat/hs_const.h  |   11 +-
 core/sql/ustat/hs_globals.cpp  | 1822 +--
 core/sql/ustat/hs_globals.h|  110 +-
 core/sql/ustat/hs_la.cpp   |   24 +
 core/sql/ustat/hs_la.h |   24 +-
 core/sql/ustat/hs_log.h|   21 +-
 core/sql/ustat/hs_parser.cpp   |4 +
 core/sql/ustat/hs_update.cpp   |3 -
 core/sql/ustat/hs_yacc.y   |   65 +-
 36 files changed, 2987 insertions(+), 1148 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/021ebd6c/core/sql/bin/SqlciErrors.txt
--
diff --git a/core/sql/bin/SqlciErrors.txt b/core/sql/bin/SqlciErrors.txt
index f21cf09..d39769b 100644
--- a/core/sql/bin/SqlciErrors.txt
+++ b/core/sql/bin/SqlciErrors.txt
@@ -1870,7 +1870,8 @@ drop the default context
 9225 Z 9 BEGINNER MINOR LOGONLY Incremental UPDATE STATISTICS: the 
total unique count for column $0~String0 changed more than the percentage 
specified by CQD USTAT_IUS_TOTAL_UEC_CHANGE_THRESHOLD. A regular UPDATE 
STATISTICS is performed instead.
 9226 Z 9 BEGINNER MINOR LOGONLY Incremental UPDATE STATISTICS: one 
interval for column $0~String0 is reset to zero. A regular UPDATE STATISTICS is 
performed instead.
 9227 Z 9 BEGINNER MINOR LOGONLY Incremental UPDATE STATISTICS: an 
interval for column $0~String0 is reduced to zero rows using IUS. A regular 
UPDATE STATISTICS is performed instead.
-9230 Z 9 BEGINNER MAJOR DBADMIN Incremental UPDATE STATISTICS: cannot 
allocate enough memory. A regular UPDATE STATISTICS is performed instead. 
+9228 Z 9 BEGINNER MINOR LOGONLY There were no sample tables to drop.
+9230 Z 9 BEGINNER MAJOR DBADMIN Incremental UPDATE STATISTICS: $0~int0 
columns could not be processed due to insufficient memory, and are being 
processed by regular UPDATE STATISTICS instead.
 9231 Z 9 BEGINNER MAJOR DBADMIN Incremental UPDATE STATISTICS: only 
RANDOM  PERCENT is allowed as the sampling specification with 
PERSISTENT.
 9232 Z 9 BEGINNER MAJOR DBADMIN Incremental UPDATE STATISTICS: cannot 
proceed because of the on-going IUS transaction originated at $0~String0. 
 9233 Z 9 BEGINNER MAJOR DBADMIN Incremental UPDATE STATISTICS: could 
not store search condition used for IUS because it exceeds $0~int0 characters. 
@@ -1885,10 +1886,13 @@ drop the default context
 9242 Z 9 BEGINNER MAJOR DBADMIN Unable to create schema for Hive 
statistics.
 9

[1/2] incubator-trafodion git commit: [TRAFODION-2129] Trafodion to avoid use of deprecated HBase APIs/Classes

2016-08-10 Thread selva
Repository: incubator-trafodion
Updated Branches:
  refs/heads/master b23fefd75 -> 3cdea3f9b


[TRAFODION-2129] Trafodion to avoid use of deprecated HBase APIs/Classes

Changes as per the review comments of PR 645


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

Branch: refs/heads/master
Commit: 258dd09c4317abcafff6b3ccc32a027272d547fd
Parents: 39e30d1
Author: selvaganesang 
Authored: Wed Aug 10 00:36:12 2016 +
Committer: selvaganesang 
Committed: Wed Aug 10 00:36:12 2016 +

--
 .../hbase/client/transactional/TransactionManager.java| 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/258dd09c/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
--
diff --git 
a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
 
b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
index 0b4888e..e7a0597 100644
--- 
a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
+++ 
b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
@@ -2232,7 +2232,7 @@ public class TransactionManager {
 if (retry) 
 retrySleep = retry(retrySleep);
 }
-} while (retry == true);
+} while (retry && retryCount++ <= RETRY_ATTEMPTS);
 }//while
 }
 
@@ -2262,7 +2262,7 @@ public class TransactionManager {
 if (retry) 
 retrySleep = retry(retrySleep);
 }
-} while (retry == true);
+} while (retry && retryCount++ <= RETRY_ATTEMPTS);
 
 if (LOG.isTraceEnabled()) LOG.trace("doCommitDDL  EXIT [" + 
transactionState.getTransactionId() + "]");
 }
@@ -2436,7 +2436,7 @@ public class TransactionManager {
 if (retry) 
retrySleep = retry(retrySleep);
 }
-} while(retry);
+} while (retry && retryCount++ <= RETRY_ATTEMPTS);
 }//while
 }
 
@@ -2477,7 +2477,7 @@ public class TransactionManager {
 if (retry) 
retrySleep = retry(retrySleep);
 }
-} while(retry);
+} while (retry && retryCount++ <= RETRY_ATTEMPTS);
 }//while
 }
 
@@ -2547,7 +2547,7 @@ public class TransactionManager {
 if (retry) 
retrySleep = retry(retrySleep);
 }
-} while(retry);
+} while (retry && retryCount++ <= RETRY_ATTEMPTS);
 }
 
 public synchronized JtaXAResource getXAResource() {



[2/2] incubator-trafodion git commit: Merge [TRAFODION-2129] PR 649 Trafodion to avoid use of deprecated HBase APIs/Classes

2016-08-10 Thread selva
Merge [TRAFODION-2129] PR 649  Trafodion to avoid use of deprecated HBase 
APIs/Classes 


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

Branch: refs/heads/master
Commit: 3cdea3f9bbd3a1c21402c984e1a8428311e8bb89
Parents: b23fefd 258dd09
Author: selvaganesang 
Authored: Wed Aug 10 17:57:23 2016 +
Committer: selvaganesang 
Committed: Wed Aug 10 17:57:23 2016 +

--
 .../hbase/client/transactional/TransactionManager.java| 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--




[1/4] incubator-trafodion git commit: Scratchfile creation cleanup and new code to use CQD SCRATCH_DISKS to specify scratch disk locations for overflow. Removed references to NSK volume patterns and v

2016-08-10 Thread sandhya
Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 87e4ca4d1 -> b23fefd75


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8fa07cdc/core/sql/sqlcomp/nadefaults.cpp
--
diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp
index 3856a76..5403ccb 100644
--- a/core/sql/sqlcomp/nadefaults.cpp
+++ b/core/sql/sqlcomp/nadefaults.cpp
@@ -195,10 +195,6 @@ struct DefaultDefault
 
 #define  DDcoll_(name,value)DD(name,value,&validateCollList)
 
-#define  DDdskNS(name,value)DD(name,value,&validateDiskListNSK)
-#define SDDdskNS(name,value)   SDD(name,value,&validateDiskListNSK)
-//SCARTCH_DRIVE_LETTERS* made internal RV 06/21/01 CR 10-010425-2440
-#define  DDdskNT(name,value)DD(name,value,&validateDiskListNT)
 #define  DDint__(name,value)DD(name,value,&validateInt)
 #define SDDint__(name,value)   SDD(name,value,&validateInt)
 #define XDDint__(name,value)   XDD(name,value,&validateInt)
@@ -259,16 +255,10 @@ struct DefaultDefault
 #define SDDkwd__(name,value)   SDD(name,value,&validateKwd)
 #define  DDSkwd__(name,value)   DDS(name,value,&validateKwd)
 #define SDDSkwd__(name,value)  SDDS(name,value,&validateKwd)
-#define  DDnskv_(name,value)DD(name,value,&validateNSKV)
-#define  DDnsksv(name,value)DD(name,value,&validateNSKSV)
-#define  DDnsksy(name,value)DD(name,value,&validateNSKSY)
-#define  DDnsklo(name,value)   DD(name,value,&validateNSKMPLoc)
 #define  DD1_4096(name,value)   DD(name,value,&validate1_4096)
 #define  DD0_18(name,value) DD(name,value,&validate0_18)
 #define DD0_64(name,value) DD(name,value,&validate0_64)
 #define DD16_64(name,value)DD(name,value,&validate16_64)
-#define  DDvol__(name,value)DD(name,value,&validateVol)
-#define SDDvol__(name,value)   SDD(name,value,&validateVol)
 #define  DDalis_(name,value)DD(name,value,&validateAnsiList)
 #define XDDalis_(name,value)   XDD(name,value,&validateAnsiList)
 #define XDDpos__(name,value)XDD(name,value,&validatePOSTableSizes)
@@ -288,8 +278,7 @@ struct DefaultDefault
 
 const DefaultValidator validateUnknown;
 const DefaultValidator validateAnsiName(CASE_SENSITIVE_ANSI); // e.g. 'c.s.tbl'
-const ValidateDiskListNSK  validateDiskListNSK;
-const ValidateDiskListNT   validateDiskListNT;
+
   ValidateCollationListvalidateCollList(TRUE/*mp-format*/);  // list 
collations
 const ValidateInt  validateInt;// allows neg, zero, pos ints
 const ValidateIntNeg1 validateIntNeg1;// allows -1 to +infinity ints
@@ -322,11 +311,6 @@ const ValidateFltMin1  validateFlt1;   // 
allows pos only (>= 1)
 const ValidateSelectivity  ValidateSelectivity;// allows 0 to 1 (float)
 const ValidateFlt_0_1  validateFlt_0_1;// allows 0 to 1 (float)
 const ValidateKeyword  validateKwd;// allows relevant keywords only
-const ValidateNSKVol   validateNSKV;   // allows NSK volumes ($X, e.g.)
-const ValidateNSKSubVolvalidateNSKSV;  // allows NSK subvols
-const ValidateVolumeList  validateVol;// allows ':' separ. list of 
$volumes
-const ValidateNSKSystemvalidateNSKSY;  // allows NSK system names
-const ValidateNSKMPLoc validateNSKMPLoc;   // allows NSK MP cat names($X.Y)
 const Validate_1_4096  validate1_4096; // allows 1 to 4096 
(integer) which is max character size supported.
 const Validate_0_18validate0_18;   // allows 0 to 18 (integer) 
because 18 is max precision supported.
 const Validate_1_1024 validate1_1024; // allows 1 to 1024 (integer).
@@ -1170,7 +1154,7 @@ SDDui___(CYCLIC_ESP_PLACEMENT,  "1"),
   DDkwd__(DATA_FLOW_OPTIMIZATION,  "ON"),
 
   // DDL Default location support
- DDdskNS(DDL_DEFAULT_LOCATIONS,""),
+ DD_(DDL_DEFAULT_LOCATIONS,""),
 
   DDkwd__(DDL_EXPLAIN,   "OFF"),
   DDkwd__(DDL_TRANSACTIONS, "ON"),
@@ -1932,7 +1916,7 @@ SDDkwd__(EXE_DIAGNOSTIC_EVENTS,   "OFF"),
   DDansi_(HIST_ROOT_NODE,""),
  XDDflt1_(HIST_ROWCOUNT_REQUIRING_STATS,"500"),
   DDflt0_(HIST_SAME_TABLE_PRED_REDUCTION,   "0.0"),
-  DDvol__(HIST_SCRATCH_VOL, ""),
+  DD_(HIST_SCRATCH_VOL, ""),
   // control the amount of data in each partition of the sample tble.
   DDflt1_(HIST_SCRATCH_VOL_THRESHOLD,   "1024"),
   DDflt_0_1(HIST_SKEW_COST_ADJUSTMENT,"0.2"),
@@ -2295,12 +2279,6 @@ SDDkwd__(ISO_MAPPING,   (char 
*)SQLCHARSETSTRING_ISO88591),
   DDkwd__(MODE_SPECIAL_3,   "OFF"),
   DDkwd__(MODE_SPECIAL_4,   "OFF"),
   DDkwd__(MODE_SPECIAL_5, 

[4/4] incubator-trafodion git commit: Merge remote branch 'origin/pr/647/head' into merge_647

2016-08-10 Thread sandhya
Merge remote branch 'origin/pr/647/head' into merge_647


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

Branch: refs/heads/master
Commit: b23fefd7504e339f5106df11270bf7cf84e3c0da
Parents: 87e4ca4 7d3643c
Author: Sandhya Sundaresan 
Authored: Wed Aug 10 17:51:37 2016 +
Committer: Sandhya Sundaresan 
Committed: Wed Aug 10 17:51:37 2016 +

--
 core/sqf/export/include/stfs/stfslib.h  |  19 +-
 core/sqf/sql/scripts/genms  |   2 +-
 core/sqf/src/stfs/stfs_stub.cpp |  82 +++---
 core/sql/comexe/ComResourceInfo.cpp | 259 +++--
 core/sql/comexe/ComResourceInfo.h   |  98 ++-
 core/sql/common/arkcmp_proc.cpp |   4 +-
 core/sql/executor/cluster.cpp   |   8 +-
 core/sql/executor/ex_sort.cpp   |   8 +-
 core/sql/generator/GenResources.cpp | 187 +---
 core/sql/generator/GenResources.h   |   2 +-
 core/sql/regress/compGeneral/EXPECTED006.SB |  29 --
 core/sql/regress/compGeneral/TEST006|   8 -
 core/sql/sort/DiskPool_base.h   |   6 +-
 core/sql/sort/DiskPool_sq.h |   6 +-
 core/sql/sort/ScratchFileMap.cpp|   4 +-
 core/sql/sort/ScratchFileMap.h  |   2 +-
 core/sql/sort/ScratchFile_sq.h  |   2 +-
 core/sql/sort/ScratchSpace.cpp  |  51 +---
 core/sql/sort/ScratchSpace.h|  58 +---
 core/sql/sort/SortUtil.cpp  |   8 +-
 core/sql/sort/SortUtilCfg.cpp   |   8 +-
 core/sql/sort/SortUtilCfg.h |  59 +---
 core/sql/sort/diskpool_sq.cpp   |   4 -
 core/sql/sort/scratchfile_sq.cpp|  55 ++--
 core/sql/sqlcomp/DefaultConstants.h |  16 +-
 core/sql/sqlcomp/DefaultValidator.cpp   | 348 +--
 core/sql/sqlcomp/DefaultValidator.h |  96 +--
 core/sql/sqlcomp/nadefaults.cpp | 137 ++---
 28 files changed, 301 insertions(+), 1265 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/b23fefd7/core/sql/sqlcomp/DefaultConstants.h
--

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



[2/4] incubator-trafodion git commit: Scratchfile creation cleanup and new code to use CQD SCRATCH_DISKS to specify scratch disk locations for overflow. Removed references to NSK volume patterns and v

2016-08-10 Thread sandhya
Scratchfile creation cleanup and new code to use CQD SCRATCH_DISKS to specify 
scratch disk locations for overflow. Removed references to NSK volume patterns 
and validation routines that expected volume/subvolume format. Added new 
validation code for linux path names.
Cleaned up and removed STFS_LOCATION envvar usage from ms.env and STFS layer.
Added a  new method that can be called to tell STFS to honor the CQD 
specification over the envvar specification.


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

Branch: refs/heads/master
Commit: 8fa07cdcbc4318706cc812ae891729ee1e52f911
Parents: a6df821
Author: Sandhya Sundaresan 
Authored: Mon Aug 8 21:31:40 2016 +
Committer: Sandhya Sundaresan 
Committed: Mon Aug 8 21:31:40 2016 +

--
 core/sqf/export/include/stfs/stfslib.h  |  19 +-
 core/sqf/sql/scripts/genms  |   2 +-
 core/sqf/src/stfs/stfs_stub.cpp |  82 +++---
 core/sql/comexe/ComResourceInfo.cpp | 259 +++--
 core/sql/comexe/ComResourceInfo.h   |  98 ++-
 core/sql/common/arkcmp_proc.cpp |   4 +-
 core/sql/executor/cluster.cpp   |   8 +-
 core/sql/executor/ex_sort.cpp   |   8 +-
 core/sql/generator/GenResources.cpp | 185 
 core/sql/generator/GenResources.h   |   2 +-
 core/sql/regress/compGeneral/EXPECTED006.SB |  29 --
 core/sql/regress/compGeneral/TEST006|   8 -
 core/sql/sort/DiskPool_base.h   |   6 +-
 core/sql/sort/DiskPool_sq.h |   6 +-
 core/sql/sort/ScratchFileMap.cpp|   4 +-
 core/sql/sort/ScratchFileMap.h  |   2 +-
 core/sql/sort/ScratchFile_sq.h  |   2 +-
 core/sql/sort/ScratchSpace.cpp  |  51 +---
 core/sql/sort/ScratchSpace.h|  58 +---
 core/sql/sort/SortUtil.cpp  |   8 +-
 core/sql/sort/SortUtilCfg.cpp   |   8 +-
 core/sql/sort/SortUtilCfg.h |  59 +---
 core/sql/sort/diskpool_sq.cpp   |   4 -
 core/sql/sort/scratchfile_sq.cpp|  55 ++--
 core/sql/sqlcomp/DefaultConstants.h |  16 +-
 core/sql/sqlcomp/DefaultValidator.cpp   | 348 +--
 core/sql/sqlcomp/DefaultValidator.h |  96 +--
 core/sql/sqlcomp/nadefaults.cpp | 137 ++---
 28 files changed, 299 insertions(+), 1265 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8fa07cdc/core/sqf/export/include/stfs/stfslib.h
--
diff --git a/core/sqf/export/include/stfs/stfslib.h 
b/core/sqf/export/include/stfs/stfslib.h
index 225c581..c617d1f 100644
--- a/core/sqf/export/include/stfs/stfslib.h
+++ b/core/sqf/export/include/stfs/stfslib.h
@@ -43,6 +43,7 @@
 #include  
 #include 
 
+
 //
 //Defines
 //
@@ -53,7 +54,7 @@
 /* \brief NULL value for stfs_fhndl_t. */
 #define STFS_NULL_FHNDL -1
 /* \brief Maximum Pathname size including NULL terminator (STFS_NAME_MAX + 1). 
*/
-#define STFS_PATH_MAX 256 
+#define STFS_PATH_MAX 4096
 
 /* \brief Maximum size of STFS specific suffix in the STFS file name */
 #define STFS_NAME_SUFFIX_MAX  40
@@ -427,6 +428,21 @@ int STFS_select( stfs_fhndl_tnfhs
 int STFS_set_overflow(const int pv_overflowtype);
 
 //---//
+//---//
+/*!  \brief Set the overflow scratch disks from CQD 
+  
+ The STFS_set_scratch_dirs function allows the user to set the list of disk
+ to be used for overflow.  The string passed in should be 
+ a ':' separated string
+
+ \param[in]  char * string containing directories separated by a :
+ \retval  void 
+ 
+*/
+//---//
+void STFS_set_scratch_dirs(char *pv_scratchCQDString);
+
+//---//
 /*!  \brief Delete a name and possibly the file that it refers to
  
  The STFS_unlink function deletes a name from the file system. If no 
processes 
@@ -439,6 +455,7 @@ int STFS_set_overflow(const int pv_overflowtype);
  \retval  intSUCCESS: 0  \n\n
  ERROR:   -1 is returned and errno is set
 */
+
 //--//
 int STFS_unlink(const char* path);  
 

http://git-wip-us.apache.

[3/4] incubator-trafodion git commit: Changes from review -mem leak fix

2016-08-10 Thread sandhya
Changes from review -mem leak fix


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

Branch: refs/heads/master
Commit: 7d36431c5c788fac49521a89e2209b6b8fc3
Parents: 8fa07cd
Author: Sandhya Sundaresan 
Authored: Wed Aug 10 06:32:56 2016 +
Committer: Sandhya Sundaresan 
Committed: Wed Aug 10 06:32:56 2016 +

--
 core/sql/generator/GenResources.cpp | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/7d3643cc/core/sql/generator/GenResources.cpp
--
diff --git a/core/sql/generator/GenResources.cpp 
b/core/sql/generator/GenResources.cpp
index 39096b5..a79ade5 100644
--- a/core/sql/generator/GenResources.cpp
+++ b/core/sql/generator/GenResources.cpp
@@ -62,7 +62,7 @@ static ExScratchDiskDrive * genScratchDisks(const NAString 
&def,
   // end temporary
 
   const char *str = def.data();
-  if (!str || str=="")
+  if (!str || str[0]=='\0')
 {
   numDirs = 0;
   return result;   // fast return if empty NADefaults val
@@ -81,10 +81,12 @@ static ExScratchDiskDrive * genScratchDisks(const NAString 
&def,
   
  
   Lng32 nodeNum;
-  char *token = new(heap) char[PATH_MAX];
+ 
+  char *token,*saveptr = NULL;
+  //save the pointer to this since token will keep changing.
 
   char *sep = (char *)":";
-  token = strtok((char *)str,sep);
+  token = strtok_r((char *)str,sep,&saveptr);
   while (token != NULL)
 {
   //validate the directory
@@ -103,10 +105,10 @@ static ExScratchDiskDrive * genScratchDisks(const 
NAString &def,
token,
strlen(token) ));
 }
-  token = strtok(NULL,sep);
+  token = strtok_r(NULL,sep,&saveptr);
 }
   
-  NADELETEBASIC(token, heap);
+ 
   token  = NULL;