SHOWPLAN related changes Reworked the fix for bug 1392522 - mxosrvr core dumped doing showplan (with N.E. enabled), plus other related code changes. 1) The native code (also known as native expression), if generated, is stored in the expression's constant area. SHOWPLAN will dump the native code in the assembly format. The display can be disabled by CQD PCODE_NE_IN_SHOWPLAN to "OFF". It is "ON" by default. This part had been reviewed by Jim Capps and Mike Hanlon. 2) Add several SHOWPLAN statements in core/TEST019 without logging the output. This is to ensure no core generated when getting executor operator (TDBs) info via SHOWPLAN. 3) A temporary fix to ComTdbHbaseAccess::displayRowId(). The current way of retrieving begin or end row IDs from the HbaseScanRows for SHOWPLAN does not match with the way those row IDs are generated (see HbaseAccess::genListsOfRows), causing core dumps in some cases.
Enabling runtime stats for hbase tables and operators This is the third set of changes to collect the runtime stats info. Part is to address the comments and suggestions from last review. 1) Instead of passing the hbase access stats entry to every htable calls, set the pointer in the EXP hbase interface layer with first init call in the tcb work methods (not the task work methods), then eventually to the htable JNI layer from getHTableClient() (sql/exp/ExpHbaseInterface.cpp). 2) Rewrite the way to construct the hbase operator names from one methord and use it for display both tdb contents and tcb stats. 3) Populate the hbase I/O bytes counter for both read and insert (sql/executor/HBaseClient_JNI.cpp). 4) Fix the problem that parsing stats variable text string could go beyond the end of the string (getSubstrInfo() in sql/executor/ExExeUtilGetStats.cpp).