[5/6] incubator-trafodion git commit: [TRAFODION-2140] Add code for Incremental Update Statistics
[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
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
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
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
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
[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
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
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
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
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
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
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;