[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 <[email protected]> Authored: Wed Aug 10 08:31:19 2016 +0000 Committer: Barry Fritchman <[email protected]> Committed: Wed Aug 10 08:31:19 2016 +0000 ---------------------------------------------------------------------- .../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 + TotalWriteRequestsCount: 0 + +Stats Details +============= + ++ RegionServer: edev06:54527 + RegionNum: 1 + RegionName: TRAFODION.T002SCH.SB_PERSISTENT_SAMPLES/121ea772487c23e7f165e29db4647fd4 NumStores: 2 NumStoreFiles: 0 UncompressedSize: 0 (less than 1MB) @@@ -804,4 -782,97 +827,99 @@@ Stats Summar --- SQL operation complete. >> + >>-- where preds + >>select cast(trim(schema_name) || '.' || trim(object_name) as char(30) character set iso88591), + +> region_num, region_name, num_stores, num_store_files + +> from table(region stats(t002t1)) + +> where object_name = 'T002T1'; + + (EXPR) REGION_NUM REGION_NAME NUM_STORES NUM_STORE_FILES + ------------------------------ -------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------- --------------- + + T002SCH.T002T1 1 TRAFODION.T002SCH.T002T1/1470338662761 2 0 + + --- 1 row(s) selected. + >> + >>select cast(trim(object_name) as char(30) character set iso88591), + +> sum(store_file_size) + +> from table(region statistics (using (select * from ( + +> get tables in schema t002sch, no header, return full names) x(a) ))) + +> where object_name like 'T002T1%' + +> group by 1 order by 2 desc; + + (EXPR) (EXPR) + ------------------------------ -------------------- + + T002T1 0 + + --- 1 row(s) selected. + >> + >>obey TEST002(cluster_stats); + >>invoke table(cluster stats()); + + -- Definition of Trafodion table TRAFODION.T002SCH.EXE_UTIL_CLUSTER_STATS__ + -- Definition current Thu Aug 4 19:25:21 2016 + + ( + REGION_SERVER CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE + DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE + , REGION_NAME CHAR(512 BYTES) CHARACTER SET UTF8 COLLATE + DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE + , CATALOG_NAME CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE + DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE + , SCHEMA_NAME CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE + DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE + , OBJECT_NAME CHAR(256 BYTES) CHARACTER SET UTF8 COLLATE + DEFAULT NO DEFAULT NOT NULL NOT DROPPABLE + , NUM_STORES INT NO DEFAULT NOT NULL NOT DROPPABLE + , NUM_STORE_FILES INT NO DEFAULT NOT NULL NOT DROPPABLE + , STORE_FILE_UNCOMP_SIZE LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , STORE_FILE_SIZE LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , MEM_STORE_SIZE LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , READ_REQUESTS_COUNT LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + , WRITE_REQUESTS_COUNT LARGEINT NO DEFAULT NOT NULL NOT DROPPABLE + ) + + --- SQL operation complete. + >> + >>select cast(trim(schema_name) || '.' || trim(object_name) as char(30) character set iso88591), + +> sum(store_file_size) + +> from table(cluster stats()) + +> where schema_name = 'T002SCH' + +> group by 1 order by 2 desc; + + (EXPR) (EXPR) + ------------------------------ -------------------- + + T002SCH.SB_HISTOGRAM_INTERVALS 0 + T002SCH.T002T1I2 0 -T002SCH.SB_HISTOGRAMS 0 + T002SCH.T002T1 0 -T002SCH.T002T2 0 ++T002SCH.SB_PERSISTENT_SAMPLES 0 + T002SCH.T002T1I1 0 ++T002SCH.T002T2 0 ++T002SCH.SB_HISTOGRAMS 0 + T002SCH.T002T2I1 0 + ---- 7 row(s) selected. ++--- 8 row(s) selected. + >> + >>select cast('RegionName: ' || trim(region_name) as char(30) character set iso88591), + +> sum(store_file_size) + +> from table(cluster stats()) + +> where schema_name = 'T002SCH' + +> group by 1 order by 2 desc; + + (EXPR) (EXPR) + ------------------------------ -------------------- + + RegionName: 1470338670665 0 + RegionName: 1470338698762 0 + RegionName: 1470338658677 0 + RegionName: 1470338660549 0 + RegionName: 1470338665125 0 + RegionName: 1470338701334 0 + RegionName: 1470338662761 0 ++RegionName: 1470816094440 0 + ---- 7 row(s) selected. ++--- 8 row(s) selected. + >> >>log; http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/d7ebca78/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp ----------------------------------------------------------------------
