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.
Fix bug 1392522 - mxosrvr core dumped doing showplan (with N.E. enabled) The basic problem was that PCodeCfg::generateShowPlan() called PCodeCfg::layoutNativeCode() when the PCODE that had been generated was unoptimized PCODE. PCodeCfg::layoutNativeCode() expects to be called with optimized PCODE and is not able to handle some strange qualities about unoptimized PCODE.
This fix changes PCodeCfg::generateShowPlan() to put out a simple message saying the a Native Expression exists but will not be displayed as part of the showplan output. In the future, we should be able to implement a complete fix and display the Native Expression, but in the meantime, we do not want to produce core dumps.
Since showplan is not documented for customer usage, this temporary fix will not affect customers. Also, if developers want to obtain the assembler language for the Native Expression, we can obtain that by turning on the CQDs that are used to debug the Native Expressions logic.
Ran standard Trafodion developer regression tests.