You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by su...@apache.org on 2016/10/11 03:57:40 UTC
[3/7] incubator-trafodion git commit: Post merge commit. All files
here relate to NAList
Post merge commit. All files here relate to NAList
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/c164c5b0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/c164c5b0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/c164c5b0
Branch: refs/heads/master
Commit: c164c5b0ed396cc1764c695846507c7edeb08cba
Parents: a143ba9
Author: Suresh Subbiah <su...@apache.org>
Authored: Fri Oct 7 22:22:25 2016 +0000
Committer: Suresh Subbiah <su...@apache.org>
Committed: Fri Oct 7 22:22:25 2016 +0000
----------------------------------------------------------------------
core/sql/arkcmp/CmpContext.cpp | 6 +++-
core/sql/arkcmp/CmpStoredProc.cpp | 2 +-
core/sql/common/Collections.h | 2 +-
core/sql/generator/GenExplain.cpp | 2 +-
core/sql/generator/GenKey.cpp | 2 +-
core/sql/generator/GenRelGrby.cpp | 2 +-
core/sql/generator/GenRelJoin.cpp | 2 +-
core/sql/generator/GenRelScan.cpp | 2 +-
core/sql/generator/GenRelUpdate.cpp | 12 +++----
core/sql/generator/GenResources.cpp | 2 +-
core/sql/generator/Generator.cpp | 15 ++++++--
core/sql/optimizer/Analyzer.cpp | 15 ++++----
core/sql/optimizer/Analyzer.h | 5 +++
core/sql/optimizer/BindRelExpr.cpp | 6 ++--
core/sql/optimizer/BindWA.cpp | 1 +
core/sql/optimizer/CacheWA.cpp | 3 ++
core/sql/optimizer/ColStatDesc.cpp | 14 ++++----
core/sql/optimizer/ControlDB.cpp | 8 +++--
core/sql/optimizer/HbaseSearchSpec.h | 52 ++++++++++++++++-----------
core/sql/optimizer/ItemFuncUDF.h | 11 +++++-
core/sql/optimizer/ItemOther.h | 2 +-
core/sql/optimizer/LargeScopeRules.cpp | 4 +--
core/sql/optimizer/MVCandidates.cpp | 10 +++---
core/sql/optimizer/MVInfo.cpp | 13 +++----
core/sql/optimizer/MVJoinGraph.cpp | 5 +--
core/sql/optimizer/MultiJoin.cpp | 2 +-
core/sql/optimizer/NAClusterInfo.cpp | 2 +-
core/sql/optimizer/NATable.cpp | 8 +++--
core/sql/optimizer/NormWA.cpp | 4 +--
core/sql/optimizer/NormWA.h | 8 +++++
core/sql/optimizer/OptItemExpr.cpp | 2 +-
core/sql/optimizer/OptLogRelExpr.cpp | 2 +-
core/sql/optimizer/QRDescGenerator.cpp | 2 +-
core/sql/optimizer/QRDescGenerator.h | 5 +--
core/sql/optimizer/RETDesc.cpp | 10 +++---
core/sql/optimizer/Refresh.cpp | 2 +-
core/sql/optimizer/RelExeUtil.h | 3 +-
core/sql/optimizer/RelExpr.cpp | 6 ++--
core/sql/optimizer/RelPackedRows.cpp | 2 +-
core/sql/optimizer/RelRoutine.cpp | 2 +-
core/sql/optimizer/RelScan.h | 7 ++--
core/sql/optimizer/SchemaDB.cpp | 2 +-
core/sql/optimizer/SearchKey.cpp | 2 +-
core/sql/optimizer/Stats.cpp | 3 +-
core/sql/optimizer/VEGTable.cpp | 6 ++--
core/sql/optimizer/ValueDesc.cpp | 2 +-
core/sql/optimizer/memo.cpp | 2 +-
core/sql/parser/SqlParserAux.cpp | 6 ++--
core/sql/parser/StmtDDLCreate.cpp | 6 ++--
core/sql/parser/sqlparser.y | 36 +++++++++----------
core/sql/qmscommon/Range.cpp | 3 +-
core/sql/qmscommon/Range.h | 3 +-
core/sql/sqlcomp/CmpDescribe.cpp | 4 +--
core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp | 10 +++---
core/sql/sqlcomp/CmpSeabaseDDLindex.cpp | 8 ++---
core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp | 4 +--
core/sql/sqlcomp/CmpSeabaseDDLtable.cpp | 28 +++++++--------
core/sql/sqlcomp/CmpSeabaseDDLview.cpp | 4 +--
core/sql/sqlcomp/PrivMgrPrivileges.cpp | 8 ++---
core/sql/sqlcomp/QCache.cpp | 2 +-
core/sql/sqlcomp/QCache.h | 1 +
core/sql/sqlcomp/nadefaults.cpp | 1 +
core/sql/sqlcomp/parser.cpp | 5 ++-
core/sql/udrserv/spinfo.cpp | 3 +-
core/sql/ustat/hs_cli.cpp | 2 +-
65 files changed, 246 insertions(+), 170 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/arkcmp/CmpContext.cpp
----------------------------------------------------------------------
diff --git a/core/sql/arkcmp/CmpContext.cpp b/core/sql/arkcmp/CmpContext.cpp
index f48d7d2..6550a39 100644
--- a/core/sql/arkcmp/CmpContext.cpp
+++ b/core/sql/arkcmp/CmpContext.cpp
@@ -140,7 +140,11 @@ CmpContext::CmpContext(UInt32 f, CollHeap * h)
CDBList_(NULL),
allControlCount_(0),
optSimulator_(NULL),
- hosts_(h)
+ hosts_(h),
+ invocationInfos_(h),
+ planInfos_(h),
+ routineHandles_(h),
+ ddlObjs_(h)
{
SetMode(isDynamicSQL() ? STMT_DYNAMIC : STMT_STATIC);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/arkcmp/CmpStoredProc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/arkcmp/CmpStoredProc.cpp b/core/sql/arkcmp/CmpStoredProc.cpp
index bd44e9b..7d90c7e 100644
--- a/core/sql/arkcmp/CmpStoredProc.cpp
+++ b/core/sql/arkcmp/CmpStoredProc.cpp
@@ -733,7 +733,7 @@ CmpStoredProc::ExecStatus CmpStoredProc::close(CmpSPDataObject&)
// Methods of CmpISPFuncs
// -----------------------------------------------------------------------
-NAList<CmpISPFuncs::ProcFuncsStruct> CmpISPFuncs::procFuncsArray_(256);
+NAList<CmpISPFuncs::ProcFuncsStruct> CmpISPFuncs::procFuncsArray_(NULL,256);
CmpISPFuncs::CmpISPFuncs()
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/common/Collections.h
----------------------------------------------------------------------
diff --git a/core/sql/common/Collections.h b/core/sql/common/Collections.h
index ac482ba..6337ba7 100644
--- a/core/sql/common/Collections.h
+++ b/core/sql/common/Collections.h
@@ -3028,7 +3028,7 @@ public:
// no-op if NAKeyLookup couldn't possibly allocate any memory
if ( keyProvenance_ != NAKeyLookupEnums::KEY_INSIDE_VALUE ) return ;
- NAList<K *> keys ;
+ NAList<K *> keys (this->heap_);
dumpKeys (keys) ;
CollIndex entries = keys.entries() ;
for ( CollIndex i = 0 ; i < entries ; i++ )
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenExplain.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenExplain.cpp b/core/sql/generator/GenExplain.cpp
index 0a6fb9a..1681d38 100644
--- a/core/sql/generator/GenExplain.cpp
+++ b/core/sql/generator/GenExplain.cpp
@@ -77,7 +77,7 @@ void RelExpr::addExplainPredicates(ExplainTupleMaster * explainTuple,
// labelList is on global heap to avoid memory lekas; if it were on
// statement heap, it would cause memory leak as the elements of the
// list on global heap CR 10-010813-4515
- NAList<NAString> labelList;
+ NAList<NAString> labelList(generator->wHeap());
ExprNode *currExpr = NULL;
NAString unParsed((size_t)4096, generator->wHeap());
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenKey.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenKey.cpp b/core/sql/generator/GenKey.cpp
index f2bc660..21e0420 100644
--- a/core/sql/generator/GenKey.cpp
+++ b/core/sql/generator/GenKey.cpp
@@ -383,7 +383,7 @@ short ExpGenerator::buildKeyInfo(keyRangeGen ** keyInfo, // out -- generated obj
MdamColumnGen * first = 0;
MdamColumnGen * last = 0;
- LIST(NAType *) keyTypeList; // to keep the type of the keys for later
+ LIST(NAType *) keyTypeList(generator->wHeap());//to keep the type of the keys for later
for (i = 0; i < keyCount; i++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenRelGrby.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelGrby.cpp b/core/sql/generator/GenRelGrby.cpp
index 16b543f..e1e3c65 100644
--- a/core/sql/generator/GenRelGrby.cpp
+++ b/core/sql/generator/GenRelGrby.cpp
@@ -959,7 +959,7 @@ short HashGroupBy::codeGen(Generator * generator) {
// First, construct a list of the item expressions representing the
// grouping attributes.
//
- LIST(ItemExpr*) bitMuxAttrList;
+ LIST(ItemExpr*) bitMuxAttrList(generator->wHeap());
for(valId = groupValIds.init();
groupValIds.next(valId);
groupValIds.advance(valId)) {
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenRelJoin.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelJoin.cpp b/core/sql/generator/GenRelJoin.cpp
index 6635756..9fe7ed1 100644
--- a/core/sql/generator/GenRelJoin.cpp
+++ b/core/sql/generator/GenRelJoin.cpp
@@ -709,7 +709,7 @@ short HashJoin::codeGen(Generator * generator) {
// lifted some day in the future, but in all "normal" cases this happens
// anyway)
- LIST(CollIndex) hashKeyColumns;
+ LIST(CollIndex) hashKeyColumns(generator->wHeap());
////////////////////////////////////////////////////////////
// Before generating any expression for this node, set the
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenRelScan.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelScan.cpp b/core/sql/generator/GenRelScan.cpp
index 87f2cd7..58a2331 100644
--- a/core/sql/generator/GenRelScan.cpp
+++ b/core/sql/generator/GenRelScan.cpp
@@ -2711,7 +2711,7 @@ short HbaseAccess::codeGen(Generator * generator)
{
listOfFetchedColNames = new(space) Queue(space);
- NAList<NAString> sortedColList;
+ NAList<NAString> sortedColList(generator->wHeap());
sortValues(retHbaseColRefSet_, sortedColList);
for (Lng32 ij = 0; ij < sortedColList.entries(); ij++)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenRelUpdate.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenRelUpdate.cpp b/core/sql/generator/GenRelUpdate.cpp
index 5713181..cff2a12 100644
--- a/core/sql/generator/GenRelUpdate.cpp
+++ b/core/sql/generator/GenRelUpdate.cpp
@@ -564,11 +564,11 @@ static void orderColumnsByAlignment(NAArray<BaseColumn *> columns,
NAArray<BaseColumn *> * orderedCols )
{
Int16 rc = 0;
- NAList<BaseColumn *> varCols(5);
- NAList<BaseColumn *> addedCols(5);
- NAList<BaseColumn *> align4(5);
- NAList<BaseColumn *> align2(5);
- NAList<BaseColumn *> align1(5);
+ NAList<BaseColumn *> varCols(STMTHEAP, 5);
+ NAList<BaseColumn *> addedCols(STMTHEAP, 5);
+ NAList<BaseColumn *> align4(STMTHEAP, 5);
+ NAList<BaseColumn *> align2(STMTHEAP, 5);
+ NAList<BaseColumn *> align1(STMTHEAP, 5);
BaseColumn *currColumn;
CollIndex i, k;
Int32 alignmentSize;
@@ -2328,7 +2328,7 @@ short HbaseInsert::codeGen(Generator *generator)
ULng32 rowIdLen = 0;
ValueIdList savedInputVIDlist;
- NAList<Attributes*> savedInputAttrsList;
+ NAList<Attributes*> savedInputAttrsList(generator->wHeap());
const ValueIdList &indexVIDlist = getIndexDesc()->getIndexColumns();
for (CollIndex ii = 0; ii < newRecExprArray().entries(); ii++)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/GenResources.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/GenResources.cpp b/core/sql/generator/GenResources.cpp
index a79ade5..c381df8 100644
--- a/core/sql/generator/GenResources.cpp
+++ b/core/sql/generator/GenResources.cpp
@@ -74,9 +74,9 @@ static ExScratchDiskDrive * genScratchDisks(const NAString &def,
// objects (temporary because we want to make the final list a
// contiguous array)
// ---------------------------------------------------------------------
- LIST(ExScratchDiskDrive *) tempList;
CollHeap *heap = generator->wHeap();
Space *space = generator->getSpace();
+ LIST(ExScratchDiskDrive *) tempList(heap);
struct stat st;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/generator/Generator.cpp
----------------------------------------------------------------------
diff --git a/core/sql/generator/Generator.cpp b/core/sql/generator/Generator.cpp
index 77ac6d0..125fff9 100644
--- a/core/sql/generator/Generator.cpp
+++ b/core/sql/generator/Generator.cpp
@@ -91,9 +91,18 @@
//////////////////////////////////////////////////
Generator::Generator(CmpContext* currentCmpContext) :
currentCmpContext_(currentCmpContext)
- , objectUids_(wHeap(), 1)
- , objectNames_(wHeap(),0)
- , snapshotScanTmpLocation_(NULL)
+ ,objectUids_(wHeap(), 1)
+ ,objectNames_(wHeap(),0)
+ ,snapshotScanTmpLocation_(NULL)
+ ,baseFileDescs_(wHeap())
+ ,baseStoiList_(wHeap())
+ ,numOfVpsPerBase_(wHeap())
+ ,vpFileDescs_(wHeap())
+ ,lateNameInfoList_(wHeap())
+ ,genOperSimInfoList_(wHeap())
+ ,stoiList_(wHeap())
+ ,insertNodesList_(wHeap())
+ ,avgVarCharSizeList_(wHeap())
{
// nothing generated yet.
genObj = 0;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/Analyzer.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/Analyzer.cpp b/core/sql/optimizer/Analyzer.cpp
index c899b16..1261f8c 100644
--- a/core/sql/optimizer/Analyzer.cpp
+++ b/core/sql/optimizer/Analyzer.cpp
@@ -3515,7 +3515,7 @@ TableAnalysis::getCoveringAccessPaths(NABoolean indexOnly,
const ValueIdSet& vidSet,
NABoolean exactMatch)
{
- LIST(AccessPathAnalysis*) accessPaths, retAccessPaths;
+ LIST(AccessPathAnalysis*) accessPaths(STMTHEAP), retAccessPaths(STMTHEAP);
if (indexOnly)
// Search index-only access paths.
@@ -5381,7 +5381,8 @@ void JBBSubset::print (FILE *f,
JBBSubsetAnalysis::JBBSubsetAnalysis(const JBBSubset & subset,
CollHeap *outHeap)
:leftDeepJoinSequence_(CmpCommon::statementHeap(),
- subset.getJBBCs().entries())
+ subset.getJBBCs().entries()),
+ matchingMVs_(CmpCommon::statementHeap())
{
heap_ = outHeap;
jbb_ = subset.getJBB();
@@ -5512,7 +5513,7 @@ void JBBSubsetAnalysis::init()
{
synthLogPropPath_ =
new (CmpCommon::statementHeap())
- CASortedList(jbbcs_.entries(), CmpCommon::statementHeap());
+ CASortedList(CmpCommon::statementHeap(), jbbcs_.entries());
(*synthLogPropPath_).insert(jbbcs_.getFirst());
}
@@ -6101,7 +6102,7 @@ CASortedList * JBBSubsetAnalysis::getNodesSortedByLocalPredsCard()
getNodesSortedByLocalPredsCard();
CASortedList * result = new (CmpCommon::statementHeap())
- CASortedList(childSet.entries(), CmpCommon::statementHeap());
+ CASortedList(CmpCommon::statementHeap(), childSet.entries());
for( UInt32 i = 0;
i < sortedListOfNodes->entries();
@@ -6127,7 +6128,7 @@ CASortedList * JBBSubsetAnalysis::getNodesSortedByLocalKeyPrefixPredsCard()
getNodesSortedByLocalKeyPrefixPredsCard();
CASortedList * result = new (CmpCommon::statementHeap())
- CASortedList(childSet.entries(), CmpCommon::statementHeap());
+ CASortedList(CmpCommon::statementHeap(), childSet.entries());
for( UInt32 i = 0;
i < sortedListOfNodes->entries();
@@ -8859,7 +8860,7 @@ void JBBSubsetAnalysis::arrangeTablesAfterFactForStarJoinTypeII()
}
// compute join order
- NAList<CANodeIdSet> orderedListOfFringes;
+ NAList<CANodeIdSet> orderedListOfFringes(STMTHEAP);
orderedListOfFringes.insert(factTableSet);
@@ -9342,7 +9343,7 @@ CASortedList* JBBWA::sort(JBBWA::shortMetricFunc getSortMetric)
{
CANodeIdSet nodesToSort = parentJBB_->getJBBCs();
CASortedList * result = new (CmpCommon::statementHeap())
- CASortedList(nodesToSort.entries(), CmpCommon::statementHeap());
+ CASortedList(CmpCommon::statementHeap(), nodesToSort.entries());
while(nodesToSort.entries())
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/Analyzer.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/Analyzer.h b/core/sql/optimizer/Analyzer.h
index 8e1608e..00a5ae5 100644
--- a/core/sql/optimizer/Analyzer.h
+++ b/core/sql/optimizer/Analyzer.h
@@ -1541,6 +1541,9 @@ private:
// construct a TableAnalysis
TableAnalysis()
+ :accessPaths_(STMTHEAP),
+ indexOnlyAccessPaths_(STMTHEAP),
+ uniqueIndexes_(STMTHEAP)
{
// should never be called
// use a constructor that passes NodeAnalysis* and TableDesc*
@@ -2436,6 +2439,8 @@ public:
private:
JBBSubsetAnalysis(CollHeap *outHeap = CmpCommon::statementHeap())
+ : leftDeepJoinSequence_(outHeap),
+ matchingMVs_(outHeap)
{
// should never be called
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/BindRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindRelExpr.cpp b/core/sql/optimizer/BindRelExpr.cpp
index 3845ebe..7a38b03 100644
--- a/core/sql/optimizer/BindRelExpr.cpp
+++ b/core/sql/optimizer/BindRelExpr.cpp
@@ -9496,7 +9496,7 @@ RelExpr *Insert::bindNode(BindWA *bindWA)
//
NABoolean view = bindWA->getNATable(getTableName())->getViewText() != NULL;
ValueIdList tgtColList, userColList, sysColList, *userColListPtr;
- CollIndexList colnoList;
+ CollIndexList colnoList(STMTHEAP);
CollIndex totalColCount, defaultColCount, i;
getTableDesc()->getSystemColumnList(sysColList);
@@ -11425,7 +11425,7 @@ void GenericUpdate::bindUpdateExpr(BindWA *bindWA,
}
CollIndex i, j;
- CollIndexList colnoList; // map of col nums (row positions)
+ CollIndexList colnoList(STMTHEAP); // map of col nums (row positions)
CollIndex a = assignList.entries();
const ColumnDescList *viewColumns = NULL;
@@ -16547,7 +16547,7 @@ RelExpr *TableMappingUDF::bindNode(BindWA *bindWA)
RETDesc *childRetDesc = child(i)->getRETDesc();
// Get Name
- LIST(CorrName*) nameList;
+ LIST(CorrName*) nameList(STMTHEAP);
childRetDesc->getXTNM().dumpKeys(nameList);
if (nameList.entries() == 1)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/BindWA.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/BindWA.cpp b/core/sql/optimizer/BindWA.cpp
index 7202d11..49d9586 100644
--- a/core/sql/optimizer/BindWA.cpp
+++ b/core/sql/optimizer/BindWA.cpp
@@ -187,6 +187,7 @@ BindWA::BindWA(SchemaDB *schemaDB, CmpContext* cmpContext, NABoolean inDDL, NABo
, hasCallStmts_(FALSE)
, isTrafLoadPrep_(FALSE)
, flags_(0)
+ , udfList_(wHeap())
{
// get current default schema, using NAMETYPE NSK or ANSI rules
defaultSchema_ = schemaDB_->getDefaultSchema(SchemaDB::APPLY_NAMETYPE_RULES);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/CacheWA.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/CacheWA.cpp b/core/sql/optimizer/CacheWA.cpp
index 1c5114a..5f8aed4 100644
--- a/core/sql/optimizer/CacheWA.cpp
+++ b/core/sql/optimizer/CacheWA.cpp
@@ -117,6 +117,9 @@ CacheWA::CacheWA(NAHeap *h)
, hasRewriteEnabledMV_(FALSE)
, hasParameterizedPred_(FALSE)
, posCounter_(0)
+ , sqlStmtConstParamPos_(h)
+ , sqlStmtSelParamPos_(h)
+ , hqcSqlConstPos_(h)
{
requiredPrefixKeys_ = getDefaultAsLong(QUERY_CACHE_REQUIRED_PREFIX_KEYS);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/ColStatDesc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ColStatDesc.cpp b/core/sql/optimizer/ColStatDesc.cpp
index 34e6ee2..4295062 100644
--- a/core/sql/optimizer/ColStatDesc.cpp
+++ b/core/sql/optimizer/ColStatDesc.cpp
@@ -2633,7 +2633,7 @@ ColStatDescList::estimateCardinality (const CostScalar & initialRowCount,
// NB: we may need to undo some of the adjustments done in the call to
// useMultiUecIfCorrelatedPreds() above.
// ---------------------------------------------------------------------
- CollIndexList joinHistograms; // the CSDL-indices of the join histograms
+ CollIndexList joinHistograms(STMTHEAP); // the CSDL-indices of the join histograms
if (maxSelectivity == NULL)
{
@@ -2890,7 +2890,7 @@ ColStatDescList::estimateCardinality (const CostScalar & initialRowCount,
// mc-uec info
// ---------------------------------------------------------------------
CostScalar newSemiJoinRowCount = rowRedProduct * semiJoinRowcountBeforePreds;
- CollIndexList joinHists; // the CSDL-indices of the join histograms
+ CollIndexList joinHists(STMTHEAP); //the CSDL-indices of the join histograms
this->addRecentlyJoinedCols(loopLimit, entries());
@@ -5328,8 +5328,8 @@ ColStatDescList::applyPred (ItemExpr *pred,
// predicate. Later they need to be oriented to the inner/outer sides
// of the input ColStatDescList.
// ---------------------------------------------------------------------
- CollIndexList leftStatsToMerge;
- CollIndexList rightStatsToMerge;
+ CollIndexList leftStatsToMerge(STMTHEAP);
+ CollIndexList rightStatsToMerge(STMTHEAP);
identifyMergeCandidates( lhs, leftStatsToMerge );
if ( leftStatsToMerge.entries() == 0 )
@@ -5792,7 +5792,7 @@ ColStatDescList::applyDefaultPred (ItemExpr *pred,
if (op == ITM_VEG_PREDICATE)
{
// could be a VEG predicate with no children
- CollIndexList statsToMerge;
+ CollIndexList statsToMerge(STMTHEAP);
// locate entries in this ColStatDescList that are associated
// with the current VEG predicate.
@@ -7170,7 +7170,7 @@ ColStatDescList::useMultiUecIfCorrelatedPreds (
NABoolean largeTableNeedsStats = FALSE;
CostScalar adjRCBeforePreds = floor(oldRowcount.getValue());
- CollIndexList predList; // the CSDL-indices of the predicate-applied histograms
+ CollIndexList predList(STMTHEAP); // the CSDL-indices of the predicate-applied histograms
CollIndex i;
for ( i = startIndex; i < stopIndex; i++ )
{
@@ -7452,7 +7452,7 @@ ColStatDescList::useMultiUecIfMultipleJoins (
joinOnSingleCol_ = FALSE;
- LIST(ValueIdList) joinValueIdPairs; // the ValueId's pairwise (per join)
+ LIST(ValueIdList) joinValueIdPairs(STMTHEAP); // the ValueId's pairwise (per join)
// look inside the mergeStates of each join histogram, and grab the
// ValueIds associated with each join
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/ControlDB.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ControlDB.cpp b/core/sql/optimizer/ControlDB.cpp
index 294edb5..adfcd16 100644
--- a/core/sql/optimizer/ControlDB.cpp
+++ b/core/sql/optimizer/ControlDB.cpp
@@ -88,13 +88,15 @@ ControlDB * ActiveControlDB()
}
ControlDB::ControlDB()
+ :cqdList_(CONTROLDBHEAP),
+ csList_(CONTROLDBHEAP)
{
requiredShape_ = NULL;
requiredShapeWasOnceNonNull_ = FALSE;
savedRequiredShape_ = NULL;
outStream_ = NULL;
- ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *);
+ ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *)(CONTROLDBHEAP);
savedCtList_ = NULL;
}
@@ -1373,7 +1375,7 @@ Lng32 ControlDB::packControlTableOptionsToBuffer(char * buffer)
Lng32 ControlDB::unpackControlTableOptionsFromBuffer(char * buffer)
{
if (!ctList_)
- ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *);
+ ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *)(CONTROLDBHEAP);
Lng32 numEntries;
Lng32 curPos = 0;
@@ -1418,7 +1420,7 @@ Lng32 ControlDB::saveCurrentCTO()
savedCtList_ = ctList_;
- ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *);
+ ctList_ = new CONTROLDBHEAP LIST(ControlTableOptions *)(CONTROLDBHEAP);
return 0;
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/HbaseSearchSpec.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/HbaseSearchSpec.h b/core/sql/optimizer/HbaseSearchSpec.h
index 1e5c80c..8645029 100644
--- a/core/sql/optimizer/HbaseSearchSpec.h
+++ b/core/sql/optimizer/HbaseSearchSpec.h
@@ -25,26 +25,29 @@
#include "Collections.h"
#include "ValueDesc.h"
+#include "NABasicObject.h"
+#include "CmpCommon.h"
-struct HbaseSearchSpec
+struct HbaseSearchSpec : public NABasicObject
{
- // column names to be retrieved.
- // Same set to be retrieved for all row id entries in rowIds_
- // Format of each entry:
- // colfam:colname ==> to retrieve 'colname' from 'colfam'
- // colfam: ==> to retrieve all columns in that family
- NAList<NAString> colNames_;
- // row timestamp at which the row is to be retrieved
- // If -1, latest timestamp
- Int64 rowTS_;
-
- const NAString getText() const;
-
-public:
- void addColumnNames(const ValueIdSet& vs);
+ HbaseSearchSpec(NAHeap* h = NULL)
+ : colNames_(h ? h : STMTHEAP), rowTS_(0) {};
+ void addColumnNames(const ValueIdSet& vs);
+ const NAString getText() const;
-protected:
+ // column names to be retrieved.
+ // Same set to be retrieved for all row id entries in rowIds_
+ // Format of each entry:
+ // colfam:colname ==> to retrieve 'colname' from 'colfam'
+ // colfam: ==> to retrieve all columns in that family
+ NAList<NAString> colNames_;
+
+ // row timestamp at which the row is to be retrieved
+ // If -1, latest timestamp
+ Int64 rowTS_;
+
+ protected:
};
// This struct is used to specify unique rowids at runtime by
@@ -56,10 +59,12 @@ protected:
struct HbaseUniqueRows : public HbaseSearchSpec
{
+ HbaseUniqueRows(NAHeap* h = NULL)
+ : HbaseSearchSpec(h), rowIds_(h ? h : STMTHEAP) {};
+ const NAString getText() const;
+
// list of rowIds
NAList<NAString> rowIds_;
-
- const NAString getText() const;
};
@@ -70,8 +75,6 @@ struct HbaseUniqueRows : public HbaseSearchSpec
struct HbaseRangeRows : public HbaseSearchSpec
{
- const NAString getText() const;
-
// range of rowids .
// If begin is null, start at beginning.
// If end is null, stop at end.
@@ -81,15 +84,24 @@ struct HbaseRangeRows : public HbaseSearchSpec
NABoolean beginKeyExclusive_;
NABoolean endKeyExclusive_;
+
+ HbaseRangeRows(NAHeap* h = NULL)
+ : HbaseSearchSpec(h) {} ;
+
+ const NAString getText() const;
};
struct ListOfUniqueRows : public NAList<HbaseUniqueRows>
{
+ ListOfUniqueRows(NAHeap* h = NULL) :
+ NAList<HbaseUniqueRows>(h ? h : STMTHEAP) {};
const NAString getText() const;
};
struct ListOfRangeRows : public NAList<HbaseRangeRows>
{
+ ListOfRangeRows(NAHeap* h = NULL) :
+ NAList<HbaseRangeRows>(h ? h : STMTHEAP) {};
const NAString getText() const;
};
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/ItemFuncUDF.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ItemFuncUDF.h b/core/sql/optimizer/ItemFuncUDF.h
index 660c2bf..511d98b 100644
--- a/core/sql/optimizer/ItemFuncUDF.h
+++ b/core/sql/optimizer/ItemFuncUDF.h
@@ -60,7 +60,16 @@ public:
functionName_(functionName), functionNamePos_(0),
udfDesc_(0), hasSubquery_(FALSE), heap_(h)
{
-
+ // we do allow null input parameters
+ allowsSQLnullArg() = TRUE;
+ }
+
+ UDFunction(const ComObjectName &functionName,
+ Lng32 argCount, CollHeap *h) :
+ Function(ITM_USER_DEF_FUNCTION, h, argCount),
+ functionName_(functionName), functionNamePos_(0),
+ udfDesc_(0), hasSubquery_(FALSE), heap_(h)
+ {
// we do allow null input parameters
allowsSQLnullArg() = TRUE;
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/ItemOther.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ItemOther.h b/core/sql/optimizer/ItemOther.h
index a1e045e..de47998 100644
--- a/core/sql/optimizer/ItemOther.h
+++ b/core/sql/optimizer/ItemOther.h
@@ -1325,7 +1325,7 @@ static void doNotReplaceAnItemExpressionForLikePredicates(ItemExpr* inputTree,
ValueIdSet& inputSet,
ItemExpr* parent=NULL)
{
- NAList<LikePredDetails*> likeList;
+ NAList<LikePredDetails*> likeList(STMTHEAP);
ValueIdSet vidsToRemove;
// For each inequality expression in inputSet, see if it is derived from the
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/LargeScopeRules.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/LargeScopeRules.cpp b/core/sql/optimizer/LargeScopeRules.cpp
index 792c18b..0e1c0e3 100644
--- a/core/sql/optimizer/LargeScopeRules.cpp
+++ b/core/sql/optimizer/LargeScopeRules.cpp
@@ -271,7 +271,7 @@ RelExpr * MVQRScanRule::nextSubstitute(RelExpr * before,
JBBSubsetAnalysis *jbbSubsetAnalysis = scan->getJBBSubsetAnalysis();
- NAList<MVMatch*> matchingMVs;
+ NAList<MVMatch*> matchingMVs(STMTHEAP);
// the case of an aggregate query on a single table
if (jbbSubsetAnalysis)
@@ -3185,7 +3185,7 @@ RelExpr * MJStarJoinIIRule::nextSubstitute_Old(RelExpr * before,
}
// compute join order
- NAList<CANodeIdSet> orderedListOfFringes;
+ NAList<CANodeIdSet> orderedListOfFringes(STMTHEAP);
orderedListOfFringes.insert(factTableSet);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/MVCandidates.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/MVCandidates.cpp b/core/sql/optimizer/MVCandidates.cpp
index e4bdec9..c2d2d2a 100644
--- a/core/sql/optimizer/MVCandidates.cpp
+++ b/core/sql/optimizer/MVCandidates.cpp
@@ -78,7 +78,7 @@ void MVCandidates::buildFavoritesList (CollHeap* heap)
{
// initialize mvqr favorites list
if (mvqrFavoriteCandidates_ == NULL)
- mvqrFavoriteCandidates_ = new (heap) LIST(NAString);
+ mvqrFavoriteCandidates_ = new (heap) LIST(NAString)(heap);
// prepare to extract the partitions/tokens from the default string
char *token;
@@ -643,7 +643,7 @@ void MVCandidates::rewriteResidPreds(QRCandidatePtr candidate,
// Set up the list of element types we want to look for when searching the
// tree for inputs.
- NAList<ElementType> inputTypes;
+ NAList<ElementType> inputTypes(heap);
inputTypes.insert(ET_MVColumn);
inputTypes.insert(ET_Column); // obtained by back join
@@ -1453,7 +1453,7 @@ void MVCandidates::mapDimOutputs(QRJBBPtr jbbElem,
{
QROutputListPtr outputList = jbbElem->getOutputList();
QROutputPtr output;
- ElementPtrList elems;
+ ElementPtrList elems(heap);
// Get the initial list of cols/exprs that are directly contained in the output
// elements. When this list is traversed, if an expression is encountered
@@ -1690,7 +1690,7 @@ void MVCandidates::analyzeCandidate(QRCandidatePtr candidate,
if (groupBy && groupBy->getResult() == QRElement::NotProvided)
node = gbNode = getGroupByAggNode(node, groupBy, candidate, heap);
- ElementPtrList vidMapTopElements;
+ ElementPtrList vidMapTopElements(heap);
RelRoot* root =
new(heap) RelRoot(node, REL_ROOT, NULL, NULL, NULL, NULL, heap);
buildOutputExprs(candidate, root, vidMapTopElements, heap);
@@ -1854,7 +1854,7 @@ void MVCandidates::collectMVs(RelExpr* topNode, CollHeap* heap)
NAString mvName = gu->getTableName().getQualifiedNameAsString();
if (forbiddenMVs_ == NULL)
- forbiddenMVs_ = new(heap) LIST(NAString);
+ forbiddenMVs_ = new(heap) LIST(NAString)(heap);
forbiddenMVs_->insert(mvName);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/MVInfo.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/MVInfo.cpp b/core/sql/optimizer/MVInfo.cpp
index 9d4620d..1ce5e8b 100644
--- a/core/sql/optimizer/MVInfo.cpp
+++ b/core/sql/optimizer/MVInfo.cpp
@@ -859,8 +859,8 @@ const MVVegPredicateColumn *MVVegPredicate::getRepresentativeCol() const
void MVVegPredicate::markPredicateColsOnUsedObjects(MVInfo *mvInfo, NABoolean isDDL)
{
MVUsedObjectInfo *usedInfo = NULL;
- LIST(const QualifiedName *) tableNames;
- MVColumnInfoList mvCols;
+ LIST(const QualifiedName *) tableNames(NULL);
+ MVColumnInfoList mvCols(NULL);
MVColumnInfo *colInfo = NULL;
// For each column in this predicate
@@ -1052,7 +1052,7 @@ MVUsedObjectInfo::MVUsedObjectInfo(const Scan *scanNode,
for (ValueId vid = outputs.init(); outputs.next(vid); outputs.advance(vid) )
{
ItemExpr *expr = vid.getItemExpr();
- LIST(BaseColumn*) usedBaseCols;
+ LIST(BaseColumn*) usedBaseCols(heap);
// If the ValueId of the output is of an expression - find all the base
// columns that it uses.
@@ -3311,7 +3311,8 @@ MVInfoForDDL::MVInfoForDDL(const NAString &nameOfMV,
userSpecifiedCI_(NULL),
mvDescriptor_(NULL),
xmlText_(NULL),
- notIncrementalReason_(MVNI_DEFAULT)
+ notIncrementalReason_(MVNI_DEFAULT),
+ udfList_(heap)
{
//
if(NULL != userSpecifiedCI)
@@ -3449,7 +3450,7 @@ MVInfoForDDL::getOptimalMJVIndexList (const LIST(Lng32)* mvCI)
{
// create index builder
MJVIndexBuilder indexBuilder (getHeap());
- IndexList inputRCIList, *outputRCIList;
+ IndexList inputRCIList(getHeap()), *outputRCIList;
// Insert MVCI as the first element of the inputRCIList
inputRCIList.insert(*mvCI);
@@ -4245,7 +4246,7 @@ void MVInfoForDDL::addBaseColsUsedByComputedMvColumns()
if (colInfo->getColType() != COM_MVCOL_FUNCTION)
continue;
- LIST(BaseColumn*) usedCols;
+ LIST(BaseColumn*) usedCols(getHeap());
findAllTheUsedColumns(colInfo->getColExpr(), NULL, usedCols);
// If this computed column is only using a single base column (or less)
// than that column is already entered as the orig column of that MV col.
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/MVJoinGraph.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/MVJoinGraph.cpp b/core/sql/optimizer/MVJoinGraph.cpp
index 6ff2fb1..4bc0d2f 100644
--- a/core/sql/optimizer/MVJoinGraph.cpp
+++ b/core/sql/optimizer/MVJoinGraph.cpp
@@ -82,6 +82,7 @@ Lng32 MVJoinTable::markRiConstraints(BindWA *bindWA, MVInfo *mvInfo)
for (CollIndex i=0; i<refConstraints.entries(); i++)
{
RefConstraint *const ref = (RefConstraint *const)(refConstraints[i]);
+
CMPASSERT(ref->getOperatorType() == ITM_REF_CONSTRAINT);
// Ignore self referencing RIs.
if (ref->selfRef())
@@ -101,8 +102,8 @@ Lng32 MVJoinTable::markRiConstraints(BindWA *bindWA, MVInfo *mvInfo)
Lng32 otherTableIndex = otherTable->getTableIndex();
// The RI must be covered by equal predicates on the same columns
- LIST(Lng32) myCols;
- LIST(Lng32) otherCols;
+ LIST(Lng32) myCols(NULL);
+ LIST(Lng32) otherCols(NULL);
ref->getMyKeyColumns(myCols);
ref->getOtherTableKeyColumns(bindWA, otherCols);
CMPASSERT(myCols.entries() == otherCols.entries());
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/MultiJoin.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/MultiJoin.cpp b/core/sql/optimizer/MultiJoin.cpp
index 8e43330..dc8bbce 100644
--- a/core/sql/optimizer/MultiJoin.cpp
+++ b/core/sql/optimizer/MultiJoin.cpp
@@ -943,7 +943,7 @@ void MultiJoin::synthLogProp(NormWA * normWAPtr)
CASortedList * synthLogPropPath =
new (CmpCommon::statementHeap())
- CASortedList(jbbcs.entries(), CmpCommon::statementHeap());
+ CASortedList(CmpCommon::statementHeap(), jbbcs.entries());
synthLogPropPath->insert((*(left.jbbcsToJBBSubset()->getSynthLogPropPath())));
synthLogPropPath->insert(right.getFirst());
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/NAClusterInfo.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NAClusterInfo.cpp b/core/sql/optimizer/NAClusterInfo.cpp
index 65733d3..7682d08 100644
--- a/core/sql/optimizer/NAClusterInfo.cpp
+++ b/core/sql/optimizer/NAClusterInfo.cpp
@@ -338,7 +338,7 @@ NAClusterInfo::NAClusterInfo(CollHeap * heap)
maps *cpuList=new(heap) maps(heap);
smpCount_ = 0;
- NAList<CollIndex> storageList(nodeCount);
+ NAList<CollIndex> storageList(heap, nodeCount);
for (Int32 i = 0; i < nodeCount; i++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/NATable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NATable.cpp b/core/sql/optimizer/NATable.cpp
index d8d4b2e..b240f17 100644
--- a/core/sql/optimizer/NATable.cpp
+++ b/core/sql/optimizer/NATable.cpp
@@ -5133,7 +5133,8 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
secKeySet_(heap),
newColumns_(heap),
snapshotName_(NULL),
- prototype_(NULL)
+ prototype_(NULL),
+ allColFams_(heap)
{
NAString tblName = qualifiedName_.getQualifiedNameObj().getQualifiedNameAsString();
NAString mmPhase;
@@ -5376,7 +5377,7 @@ NABoolean createNAFileSets(TrafDesc * table_desc /*IN*/,
viewColUsages_ = NULL;
if(view_desc->viewDesc()->viewcolusages){
- viewColUsages_ = new (heap_) NAList<ComViewColUsage *>; //initialize empty list
+ viewColUsages_ = new (heap_) NAList<ComViewColUsage *>(heap_); //initialize empty list
char * beginStr (view_desc->viewDesc()->viewcolusages);
char * endStr = strchr(beginStr, ';');
while (endStr != NULL) {
@@ -5871,7 +5872,8 @@ NATable::NATable(BindWA *bindWA,
secKeySet_(heap),
privInfo_(NULL),
newColumns_(heap),
- snapshotName_(NULL)
+ snapshotName_(NULL),
+ allColFams_(heap)
{
NAString tblName = qualifiedName_.getQualifiedNameObj().getQualifiedNameAsString();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/NormWA.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NormWA.cpp b/core/sql/optimizer/NormWA.cpp
index d3ead0e..4e9701a 100644
--- a/core/sql/optimizer/NormWA.cpp
+++ b/core/sql/optimizer/NormWA.cpp
@@ -255,10 +255,10 @@ NABoolean SqoChangedItemExprs::undoChanges(NormWA & normWARef, Lng32 subqId)
void SqoWA::undoChanges(NormWA & normWARef )
{
// We need a list of indexes to ItemExprs that we have restored
- LIST(SqoChangedItemExprs * ) undoneItemExprs;
+ LIST(SqoChangedItemExprs * ) undoneItemExprs(STMTHEAP);
// We need a list indexes to of RelExprs that we have restored
- LIST(SqoChangedRelExprs * ) undoneRelExprs;
+ LIST(SqoChangedRelExprs * ) undoneRelExprs(STMTHEAP);
for (UInt32 itemIdx=0; itemIdx < changedItemExprs_.entries(); itemIdx++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/NormWA.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/NormWA.h b/core/sql/optimizer/NormWA.h
index d6f9777..781292c 100644
--- a/core/sql/optimizer/NormWA.h
+++ b/core/sql/optimizer/NormWA.h
@@ -311,6 +311,10 @@ public:
,checkForExtraHubTables_(FALSE)
,compilingMVDescriptor_(FALSE)
,requiresRecursivePushdown_(FALSE)
+ ,readList_(CmpCommon::statementHeap())
+ ,writeList_(CmpCommon::statementHeap())
+ ,origSeqFunction_(CmpCommon::statementHeap())
+ ,equiTransformedExpr_(CmpCommon::statementHeap())
{
vegTable_ = new (wHeap()) VEGTable;
sqoWARef_ = new (CmpCommon::statementHeap()) SqoWA;
@@ -352,6 +356,10 @@ public:
,checkForExtraHubTables_(FALSE)
,compilingMVDescriptor_(FALSE)
,requiresRecursivePushdown_(other.requiresRecursivePushdown_)
+ ,readList_(other.readList_, STMTHEAP)
+ ,writeList_(other.writeList_, STMTHEAP)
+ ,origSeqFunction_(other.origSeqFunction_, STMTHEAP)
+ ,equiTransformedExpr_(other.equiTransformedExpr_, STMTHEAP)
{}
// --------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/OptItemExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/OptItemExpr.cpp b/core/sql/optimizer/OptItemExpr.cpp
index 0ff3823..31aa50c 100644
--- a/core/sql/optimizer/OptItemExpr.cpp
+++ b/core/sql/optimizer/OptItemExpr.cpp
@@ -1873,7 +1873,7 @@ NABoolean VEGPredicate::applyDefaultPred(ColStatDescList & histograms,
ValueIdSet leftLeafValues;
// could be a VEG predicate with no children
- CollIndexList statsToMerge;
+ CollIndexList statsToMerge(STMTHEAP);
OperatorTypeEnum op = getOperatorType();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/OptLogRelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/OptLogRelExpr.cpp b/core/sql/optimizer/OptLogRelExpr.cpp
index 80360d4..3a09162 100644
--- a/core/sql/optimizer/OptLogRelExpr.cpp
+++ b/core/sql/optimizer/OptLogRelExpr.cpp
@@ -3687,7 +3687,7 @@ GroupByAgg::synthEstLogProp(const EstLogPropSharedPtr& inputEstLogProp)
// to check for dependencies
ValueIdSet baseColumnSet ;
- LIST(ValueIdSet ) columnsOfThisVEG;
+ LIST(ValueIdSet ) columnsOfThisVEG(STMTHEAP);
ValueIdSet probableRedundantColSet;
SET(TableDesc *) * groupByTables = NULL;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/QRDescGenerator.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/QRDescGenerator.cpp b/core/sql/optimizer/QRDescGenerator.cpp
index e699034..f99ef0a 100644
--- a/core/sql/optimizer/QRDescGenerator.cpp
+++ b/core/sql/optimizer/QRDescGenerator.cpp
@@ -2611,7 +2611,7 @@ void QRDescGenerator::processReferencingPreds(CANodeIdSet* nodeSet,
// Identify equality sets implied by vegpreds and equality conditions, and
// translate these to joinpred/range/residual predicates in the descriptor.
- NAList<EqualitySet*> equalitySets;
+ NAList<EqualitySet*> equalitySets(mvqrHeap_);
formEqualitySets(preds, equalitySets);
for (CollIndex i=0; i<equalitySets.entries(); i++)
processEqualitySet(jbbElem, *equalitySets[i]);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/QRDescGenerator.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/QRDescGenerator.h b/core/sql/optimizer/QRDescGenerator.h
index 55d0100..3efbb96 100644
--- a/core/sql/optimizer/QRDescGenerator.h
+++ b/core/sql/optimizer/QRDescGenerator.h
@@ -218,7 +218,8 @@ public:
vegsUsedHash_(hashValueId, 77, TRUE, heap),
exprsUsedHash_(hashString, 77, TRUE, heap),
colTblIdHash_(hashString, 77, TRUE, heap),
- isDumpMvMode_(FALSE)
+ isDumpMvMode_(FALSE),
+ allEqualitySets_(heap)
{
maxExprSize_ = CmpCommon::getDefaultLong(MVQR_MAX_EXPR_SIZE);
maxExprDepth_ = CmpCommon::getDefaultLong(MVQR_MAX_EXPR_DEPTH);
@@ -482,7 +483,7 @@ public:
*/
void createEqualitySets(ValueIdSet preds)
{
- NAList<EqualitySet*> equalitySets;
+ NAList<EqualitySet*> equalitySets(mvqrHeap_);
formEqualitySets(preds, equalitySets);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RETDesc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RETDesc.cpp b/core/sql/optimizer/RETDesc.cpp
index 6ab9d4b..a81d231 100644
--- a/core/sql/optimizer/RETDesc.cpp
+++ b/core/sql/optimizer/RETDesc.cpp
@@ -536,7 +536,7 @@ RETDesc *RETDesc::nullInstantiate(BindWA *bindWA,
// ***********************************************************************
ColumnNameMap *RETDesc::findColumn(const ValueId vid) const
{
- LIST(ColumnNameMap *) colNameMapList;
+ LIST(ColumnNameMap *) colNameMapList(STMTHEAP);
ColumnNameMap *currColNameMap = NULL;
@@ -589,7 +589,8 @@ void RETDesc::getTableList(LIST(TableNameMap*) &xtnmList,
xtnmList.removeAt(i);
// Separate names by number of parts (corr, tbl, sch.tbl, cat.sch.tbl)
- LIST(TableNameMap*) xtnmCORR, xtnmT, xtnmST, xtnmCST;
+ LIST(TableNameMap*) xtnmCORR(STMTHEAP), xtnmT(STMTHEAP);
+ LIST(TableNameMap*) xtnmST(STMTHEAP), xtnmCST(STMTHEAP);
for (i = 0; i < xtnmList.entries(); i++) {
const CorrName& corr = xtnmList[i]->getTableName();
const QualifiedName& qual = corr.getQualifiedNameObj();
@@ -623,7 +624,8 @@ void RETDesc::getTableList(LIST(TableNameMap*) &xtnmList,
// Sort in ascending order by name, removing any duplicates.
if (xtnmList.entries() > 1) {
- LIST(TableNameMap*) xtnmT = xtnmList;
+ LIST(TableNameMap*) xtnmT(STMTHEAP);
+ xtnmT = xtnmList;
xtnmList.clear();
while (xtnmT.entries()) {
@@ -804,7 +806,7 @@ void RETDesc::print(FILE* ofd, const char* indent, const char* title) const
NEW_INDENT, title, this,
groupedFlag_ ? "(grouped) " : "");
- LIST(TableNameMap*) xtnmList;
+ LIST(TableNameMap*) xtnmList(STMTHEAP);
xtnm_.dump(xtnmList);
for (i = 0; i < xtnmList.entries(); i++)
fprintf(ofd, "%s\n ",
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/Refresh.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/Refresh.cpp b/core/sql/optimizer/Refresh.cpp
index 4e75c88..aef4a04 100644
--- a/core/sql/optimizer/Refresh.cpp
+++ b/core/sql/optimizer/Refresh.cpp
@@ -514,7 +514,7 @@ NABoolean Refresh::doesBaseTableHaveSupportingIndex(BindWA *bindWA,
// Extract GroupBy columns
const MVColumns& pMvInfoColumnList =
mvInfo->getMVColumns();
- LIST (MVColumnInfo *) mvGroupByColumns;
+ LIST (MVColumnInfo *) mvGroupByColumns(bindWA->wHeap());
for ( i = 0 ; i < pMvInfoColumnList.entries() ; i++)
{
#pragma nowarn(1506) // warning elimination
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RelExeUtil.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExeUtil.h b/core/sql/optimizer/RelExeUtil.h
index 2040a34..c36024c 100644
--- a/core/sql/optimizer/RelExeUtil.h
+++ b/core/sql/optimizer/RelExeUtil.h
@@ -1051,7 +1051,8 @@ public:
doParallelDeleteIfXn_(FALSE),
offlineTable_(FALSE),
doLabelPurgedata_(FALSE),
- numLOBs_(0)
+ numLOBs_(0),
+ lobNumArray_(oHeap)
{
};
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RelExpr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelExpr.cpp b/core/sql/optimizer/RelExpr.cpp
index 491284e..7091c30 100644
--- a/core/sql/optimizer/RelExpr.cpp
+++ b/core/sql/optimizer/RelExpr.cpp
@@ -6707,8 +6707,10 @@ Union::Union(RelExpr *leftChild,
,rightList_(NULL)
,currentChild_(-1)
,alternateRightChildOrderExprTree_(NULL) //++MV
- ,isSystemGenerated_(sysGenerated),
- isSerialUnion_(FALSE)
+ ,isSystemGenerated_(sysGenerated)
+ ,isSerialUnion_(FALSE)
+ ,variablesSet_(oHeap)
+
{
if ( NOT mayBeCacheable )
setNonCacheable();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RelPackedRows.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelPackedRows.cpp b/core/sql/optimizer/RelPackedRows.cpp
index 773582b..843eacc 100644
--- a/core/sql/optimizer/RelPackedRows.cpp
+++ b/core/sql/optimizer/RelPackedRows.cpp
@@ -1028,7 +1028,7 @@ UnPackRows::synthLogProp(NormWA * normWAPtr)
// Find out the base columns of all entries in unPackExpr_ and stored them
// in an array for later use.
//
- LIST(BaseColumn *) packedBaseColList;
+ LIST(BaseColumn *) packedBaseColList(STMTHEAP);
for(ValueId unPackCol = unPackExpr().init(); unPackExpr().next(unPackCol);
unPackExpr().advance(unPackCol))
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RelRoutine.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelRoutine.cpp b/core/sql/optimizer/RelRoutine.cpp
index 92f254e..4782ab5 100644
--- a/core/sql/optimizer/RelRoutine.cpp
+++ b/core/sql/optimizer/RelRoutine.cpp
@@ -319,7 +319,7 @@ void TableMappingUDFChildInfo::removeColumn(CollIndex i)
//! TableMappingUDF::TableMappingUDF Copy Constructor
TableMappingUDF::TableMappingUDF(const TableMappingUDF & other)
-: TableValuedFunction(other)
+ : TableValuedFunction(other),childInfo_(STMTHEAP)
{
selectivityFactor_ = other.selectivityFactor_;
cardinalityHint_ = other.cardinalityHint_;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/RelScan.h
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/RelScan.h b/core/sql/optimizer/RelScan.h
index da90691..ad63ace 100644
--- a/core/sql/optimizer/RelScan.h
+++ b/core/sql/optimizer/RelScan.h
@@ -319,9 +319,10 @@ public:
cardinalityHint_(-1.0),
forcedIndexInfo_(FALSE),
baseCardinality_(0),
- // QSTUFF
- isRewrittenMV_(FALSE),
- hbaseAccessOptions_(NULL)
+ // QSTUFF
+ isRewrittenMV_(FALSE),
+ hbaseAccessOptions_(NULL),
+ matchingMVs_(CmpCommon::statementHeap())
{}
// virtual destructor
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/SchemaDB.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/SchemaDB.cpp b/core/sql/optimizer/SchemaDB.cpp
index d64bca7..034f3bf 100644
--- a/core/sql/optimizer/SchemaDB.cpp
+++ b/core/sql/optimizer/SchemaDB.cpp
@@ -513,7 +513,7 @@ Lng32 NodeToCpuVolMapDB::getTotalNumOfVols
{
if (nodeName)
{
- LIST(NAString *) qualifyingNodeNames;
+ LIST(NAString *) qualifyingNodeNames(CTXTHEAP);
qualifyingNodeNames.insert(nodeName);
buildVolumeNameCache(qualifyingNodeNames);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/SearchKey.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/SearchKey.cpp b/core/sql/optimizer/SearchKey.cpp
index 3c98146..07482bf 100644
--- a/core/sql/optimizer/SearchKey.cpp
+++ b/core/sql/optimizer/SearchKey.cpp
@@ -2876,7 +2876,7 @@ void HbaseSearchKey::makeHBaseSearchKeys(
// Step 2: check how many key columns we should use to expand RangeSpecs
// List of ValueIdSets, one for each HbaseSearchKey to be generated
- LIST(ValueIdSet) predListForSearchKeys;
+ LIST(ValueIdSet) predListForSearchKeys(STMTHEAP);
// remember range specs and their associated individual preds
ValueIdSet rangeSpecs, rangePreds, allKeyPreds;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/Stats.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/Stats.cpp b/core/sql/optimizer/Stats.cpp
index 1d57ca0..fc85025 100644
--- a/core/sql/optimizer/Stats.cpp
+++ b/core/sql/optimizer/Stats.cpp
@@ -8742,7 +8742,8 @@ void MCSkewedValueList::display() const
}
MCSkewedValueList::MCSkewedValueList(const MCSkewedValueList & mcsvl, NAMemory *h)
-:heap_(h ? h : CmpCommon::statementHeap())
+ :NAList<MCSkewedValue *>(h ? h : CmpCommon::statementHeap()),
+ heap_(h ? h : CmpCommon::statementHeap())
{
for (CollIndex i = 0; i < mcsvl.entries(); i++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/VEGTable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/VEGTable.cpp b/core/sql/optimizer/VEGTable.cpp
index 3df260a..5e92bcb 100644
--- a/core/sql/optimizer/VEGTable.cpp
+++ b/core/sql/optimizer/VEGTable.cpp
@@ -448,7 +448,7 @@ void VEGRegion::addVEG(const ValueIdSet & vegMembers)
// -----------------------------------------------------------------------
void VEGRegion::mergeForwardingEntries(const VEGRegion *fromRegion)
{
- LIST(VEGMember *) allForwardingEntries;
+ LIST(VEGMember *) allForwardingEntries(STMTHEAP);
fromRegion->gatherForwardingEntries(allForwardingEntries);
for(CollIndex i = 0; i < allForwardingEntries.entries(); i++)
@@ -902,7 +902,7 @@ void VEGRegion::replaceInstantiateNullMembers()
Lng32 index; // loop index
InstantiateNull * instNullPtr; // -> an InstantiateNull
VEGMember * memberPtr; // -> a VEGMember
- LIST(VEGMember *)deleteStack; // VEGMember that are to be deleted
+ LIST(VEGMember *)deleteStack(STMTHEAP); // VEGMember that are to be deleted
ValueId exprId; // ValueId of a member of the VEG
ValueIdSet vegMembers; // set of all members for a VEG
@@ -1216,7 +1216,7 @@ void VEGRegion::processZones()
#pragma nowarn(1506) // warning elimination
Lng32 ne = members_.entries();
#pragma warn(1506) // warning elimination
- LIST(VEGMember *) deleteStack;
+ LIST(VEGMember *) deleteStack(STMTHEAP);
// Walk through the members of this VEGRegion to check if any member
// is to be deleted.
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/ValueDesc.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/ValueDesc.cpp b/core/sql/optimizer/ValueDesc.cpp
index 655a3f5..2245fa8 100644
--- a/core/sql/optimizer/ValueDesc.cpp
+++ b/core/sql/optimizer/ValueDesc.cpp
@@ -2920,7 +2920,7 @@ void ValueIdSet::findCommonSubexpressions(ValueIdSet &other,
{
ValueIdList otherList;
CollIndex otherNumEntries;
- LIST(HashValue) otherHashValues;
+ LIST(HashValue) otherHashValues(STMTHEAP);
ValueId vid;
CollIndex j;
HashValue hashVal;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/optimizer/memo.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/memo.cpp b/core/sql/optimizer/memo.cpp
index cbb75ce..850f819 100644
--- a/core/sql/optimizer/memo.cpp
+++ b/core/sql/optimizer/memo.cpp
@@ -1120,7 +1120,7 @@ void CascadesMemo::update(CascadesGroup * oldGroup, CascadesGroup * newGroup)
//<pb>
Int32 CascadesMemo::garbageCollection()
{
- LIST(RelExpr *) changed; // list of outdated RelExprs
+ LIST(RelExpr *) changed(STMTHEAP); // list of outdated RelExprs
RelExpr *e; // a single rel expr
RelExpr *pred; // predecessor in the hash chain
Int32 nc; // number of children
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/parser/SqlParserAux.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/SqlParserAux.cpp b/core/sql/parser/SqlParserAux.cpp
index dfd625c..588936c 100644
--- a/core/sql/parser/SqlParserAux.cpp
+++ b/core/sql/parser/SqlParserAux.cpp
@@ -292,7 +292,7 @@ THREAD_P NABoolean ThereAreAssignments;
void resetHostVars()
{
if (AllHostVars == NULL)
- AllHostVars = new AllHostVarsT();
+ AllHostVars = new AllHostVarsT(NULL);
AllHostVars->clear();
TheHostVarRoles->clear(); // SqlParserGlobals.h
@@ -300,7 +300,7 @@ void resetHostVars()
TheProcArgTypes = NULL;
InAssignmentSt = FALSE;
if (AssignmentHostVars == NULL)
- AssignmentHostVars = new AssignmentHostVarsT();
+ AssignmentHostVars = new AssignmentHostVarsT(NULL);
AssignmentHostVars->clear();
intoClause = FALSE;
@@ -498,7 +498,7 @@ RelRoot *finalize(RelExpr *top, NABoolean outputVarCntValid)
if (TheProcArgTypes)
{
- LIST(HVArgType *) argdump;
+ LIST(HVArgType *) argdump(PARSERHEAP());
TheProcArgTypes->dump(argdump);
for (i = 0; i < argdump.entries(); i++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/parser/StmtDDLCreate.cpp
----------------------------------------------------------------------
diff --git a/core/sql/parser/StmtDDLCreate.cpp b/core/sql/parser/StmtDDLCreate.cpp
index 3e94dfa..4340ffc 100644
--- a/core/sql/parser/StmtDDLCreate.cpp
+++ b/core/sql/parser/StmtDDLCreate.cpp
@@ -6089,7 +6089,8 @@ StmtDDLCreateMV::StmtDDLCreateMV( const QualifiedName &MVQualName,
pAttributeTableLists_(pAttributeTableLists),
pIgnoreChangesList_(0),
StmtDDLNode(DDL_CREATE_MV),
- partitionKeyColRefArray_(heap)
+ partitionKeyColRefArray_(heap),
+ udfList_(heap)
{
// MV file options are a subset of Table's file options.
// Since we use the same parsing rule as a Table's, we need to check that all file
@@ -6830,7 +6831,8 @@ StmtDDLCreateView::StmtDDLCreateView(const QualifiedName & viewQualName,
pQueryExpression_(queryExpression),
pWithCheckOption_(optionalWithCheckOption),
columnDefArray_(heap),
- viewUsages_(heap)
+ viewUsages_(heap),
+ udfList_(heap)
{
setChild(INDEX_VIEW_OWNER, pOwner);
}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/parser/sqlparser.y
----------------------------------------------------------------------
diff --git a/core/sql/parser/sqlparser.y b/core/sql/parser/sqlparser.y
index ae288b0..87b691d 100755
--- a/core/sql/parser/sqlparser.y
+++ b/core/sql/parser/sqlparser.y
@@ -7320,7 +7320,7 @@ set_function_specification : set_function_type '(' set_quantifier value_expressi
(PivotGroup::DELIMITER_, NULL, (char*)"", -1);
NAList<PivotGroup::PivotOption*> * frol =
- new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>;
+ new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>(PARSERHEAP ());
frol->insert(po);
$$ = new (PARSERHEAP()) PivotGroup(ITM_PIVOT_GROUP, $7, frol);
@@ -7355,7 +7355,7 @@ pivot_options : empty
concat_options_list : concat_option
{
NAList<PivotGroup::PivotOption*> * frol =
- new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>;
+ new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>(PARSERHEAP ());
frol->insert($1);
$$ = frol;
}
@@ -7368,7 +7368,7 @@ concat_options_list : concat_option
pivot_options_list : pivot_option
{
NAList<PivotGroup::PivotOption*> * frol =
- new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>;
+ new (PARSERHEAP ()) NAList<PivotGroup::PivotOption*>(PARSERHEAP ());
frol->insert($1);
$$ = frol;
}
@@ -10099,7 +10099,7 @@ hbase_column_create_list : '(' hbase_column_create_value ')'
{
NAList<HbaseColumnCreate::HbaseColumnCreateOptions *> * hccol =
new (PARSERHEAP())
- NAList<HbaseColumnCreate::HbaseColumnCreateOptions *>;
+ NAList<HbaseColumnCreate::HbaseColumnCreateOptions *>(PARSERHEAP ());
hccol->insert($2);
$$ = hccol;
}
@@ -10107,7 +10107,7 @@ hbase_column_create_list : '(' hbase_column_create_value ')'
{
NAList<HbaseColumnCreate::HbaseColumnCreateOptions *> * hccol =
new (PARSERHEAP())
- NAList<HbaseColumnCreate::HbaseColumnCreateOptions *>;
+ NAList<HbaseColumnCreate::HbaseColumnCreateOptions *>(PARSERHEAP ());
hccol->insert($1);
$$ = hccol;
}
@@ -16853,7 +16853,7 @@ optional_explain_options : /* empty */
quoted_string_list : QUOTED_STRING
{
- $$ = new (PARSERHEAP()) ConstStringList();
+ $$ = new (PARSERHEAP()) ConstStringList(PARSERHEAP ());
$$->insert($1);
}
| quoted_string_list ',' QUOTED_STRING
@@ -16864,7 +16864,7 @@ quoted_string_list : QUOTED_STRING
col_fam_quoted_string_list : TOK_COLUMN TOK_FAMILY QUOTED_STRING
{
- $$ = new (PARSERHEAP()) ConstStringList();
+ $$ = new (PARSERHEAP()) ConstStringList(PARSERHEAP ());
$$->insert($3);
}
| col_fam_quoted_string_list ',' TOK_COLUMN TOK_FAMILY QUOTED_STRING
@@ -16979,7 +16979,7 @@ exe_util_maintain_object : TOK_MAINTAIN maintain_object_token table_name maintai
| TOK_INITIALIZE_MAINTAIN
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
ExeUtilMaintainObject::MaintainObjectOption * mto =
new (PARSERHEAP ())
@@ -17004,7 +17004,7 @@ exe_util_maintain_object : TOK_MAINTAIN maintain_object_token table_name maintai
| TOK_REINITIALIZE_MAINTAIN
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
ExeUtilMaintainObject::MaintainObjectOption * mto =
new (PARSERHEAP ())
@@ -17029,7 +17029,7 @@ exe_util_maintain_object : TOK_MAINTAIN maintain_object_token table_name maintai
| TOK_REINITIALIZE_MAINTAIN ',' TOK_DROP TOK_ONLY
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
ExeUtilMaintainObject::MaintainObjectOption * mto =
new (PARSERHEAP ())
@@ -17054,7 +17054,7 @@ exe_util_maintain_object : TOK_MAINTAIN maintain_object_token table_name maintai
| TOK_REINITIALIZE_MAINTAIN ',' TOK_CREATE TOK_VIEW
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
ExeUtilMaintainObject::MaintainObjectOption * mto =
new (PARSERHEAP ())
@@ -17079,7 +17079,7 @@ exe_util_maintain_object : TOK_MAINTAIN maintain_object_token table_name maintai
| TOK_REINITIALIZE_MAINTAIN ',' TOK_DROP TOK_VIEW
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
ExeUtilMaintainObject::MaintainObjectOption * mto =
new (PARSERHEAP ())
@@ -17162,7 +17162,7 @@ maintain_object_options : empty
maintain_object_options_list : maintain_object_option
{
NAList<ExeUtilMaintainObject::MaintainObjectOption*> * mtol =
- new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilMaintainObject::MaintainObjectOption*>(PARSERHEAP ());
mtol->insert($1);
$$ = mtol;
}
@@ -17738,7 +17738,7 @@ aqr_task : TOK_ADD { $$ = 1; }
aqr_options_list : aqr_option
{
NAList<ExeUtilAQR::AQROption*> * o =
- new (PARSERHEAP ()) NAList<ExeUtilAQR::AQROption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilAQR::AQROption*>(PARSERHEAP ());
o->insert($1);
$$ = o;
}
@@ -17968,7 +17968,7 @@ optional_hbbload_options : TOK_WITH hbbload_option_list
hbbload_option_list : hbbload_option
{
NAList<ExeUtilHBaseBulkLoad::HBaseBulkLoadOption*> * hbol =
- new (PARSERHEAP ()) NAList<ExeUtilHBaseBulkLoad::HBaseBulkLoadOption*>;
+ new (PARSERHEAP ()) NAList<ExeUtilHBaseBulkLoad::HBaseBulkLoadOption*>(PARSERHEAP ());
hbol->insert($1);
$$ = hbol;
}
@@ -18173,7 +18173,7 @@ optional_hbb_unload_options : TOK_WITH hbb_unload_option_list
hbb_unload_option_list : hbb_unload_option
{
NAList<UnloadOption*> * hbol =
- new (PARSERHEAP ()) NAList<UnloadOption*>;
+ new (PARSERHEAP ()) NAList<UnloadOption*>(PARSERHEAP ());
hbol->insert($1);
$$ = hbol;
}
@@ -26994,7 +26994,7 @@ hbase_table_options : TOK_HBASE_OPTIONS '(' hbase_options_list ')'
hbase_options_list : hbase_option
{
NAList<HbaseCreateOption*> * hbol =
- new (PARSERHEAP ()) NAList<HbaseCreateOption*>;
+ new (PARSERHEAP ()) NAList<HbaseCreateOption*>(PARSERHEAP ());
hbol->insert($1);
$$ = hbol;
}
@@ -27988,7 +27988,7 @@ authorization_identifier_or_public : authorization_identifier
/* type pConstStringList */
component_privilege_name_list : component_privilege_name
{
- $$ = new (PARSERHEAP()) ConstStringList();
+ $$ = new (PARSERHEAP()) ConstStringList(PARSERHEAP ());
$$->insert($1); // component_privilege_name - NAString * stringval - shallow copy
}
| component_privilege_name_list ',' component_privilege_name
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/qmscommon/Range.cpp
----------------------------------------------------------------------
diff --git a/core/sql/qmscommon/Range.cpp b/core/sql/qmscommon/Range.cpp
index baed367..c20fd10 100644
--- a/core/sql/qmscommon/Range.cpp
+++ b/core/sql/qmscommon/Range.cpp
@@ -48,7 +48,8 @@ RangeSpec::RangeSpec(QRRangePredPtr rangePred, CollHeap* heap, logLevel ll)
nullIncluded_(FALSE),
type_(NULL),
isDumpMvMode_(FALSE),
- logLevel_(ll)
+ logLevel_(ll),
+ subranges_(heap)
{
assertLogAndThrow(CAT_SQL_COMP_RANGE, logLevel_,
rangePred, QRLogicException,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/qmscommon/Range.h
----------------------------------------------------------------------
diff --git a/core/sql/qmscommon/Range.h b/core/sql/qmscommon/Range.h
index e1ce2ba..77c7478 100644
--- a/core/sql/qmscommon/Range.h
+++ b/core/sql/qmscommon/Range.h
@@ -956,7 +956,8 @@ class RangeSpec : public NABasicObject
nullIncluded_(FALSE),
type_(NULL),
isDumpMvMode_(FALSE),
- logLevel_(ll)
+ logLevel_(ll),
+ subranges_(heap)
{}
/**
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpDescribe.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpDescribe.cpp b/core/sql/sqlcomp/CmpDescribe.cpp
index 327b33d..531cf3a 100644
--- a/core/sql/sqlcomp/CmpDescribe.cpp
+++ b/core/sql/sqlcomp/CmpDescribe.cpp
@@ -2935,8 +2935,8 @@ short CmpDescribeSeabaseTable (
NABoolean isSalted = FALSE;
NABoolean isDivisioned = FALSE;
ItemExpr *saltExpr;
- LIST(NAString) divisioningExprs;
- LIST(NABoolean) divisioningExprAscOrders;
+ LIST(NAString) divisioningExprs(heap);
+ LIST(NABoolean) divisioningExprAscOrders(heap);
if (naTable->getClusteringIndex())
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index 4ef16c5..d1c456c 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -639,7 +639,7 @@ short CmpSeabaseDDL::processDDLandCreateDescs(
ComTdbVirtTableKeyInfo * indexKeyInfoArray = NULL;
ComTdbVirtTableKeyInfo * indexNonKeyInfoArray = NULL;
- NAList<NAString> selColList;
+ NAList<NAString> selColList(STMTHEAP);
NAString defaultColFam(SEABASE_DEFAULT_COL_FAMILY);
if (createIndexColAndKeyInfoArrays(indexColRefArray,
createIndexNode->isUniqueSpecified(),
@@ -2428,7 +2428,7 @@ short CmpSeabaseDDL::createHbaseTable(ExpHbaseInterface *ehi,
// metadata. It creates the corresponding hbase table.
short retcode = 0;
- HBASE_NAMELIST colFamList;
+ HBASE_NAMELIST colFamList(STMTHEAP);
HbaseStr colFam;
retcode = -1;
@@ -2549,7 +2549,7 @@ short CmpSeabaseDDL::createHbaseTable(ExpHbaseInterface *ehi,
std::vector<NAString> colFamVec;
colFamVec.push_back(cf1);
- NAList<HbaseCreateOption*> lHbaseCreateOptions;
+ NAList<HbaseCreateOption*> lHbaseCreateOptions(STMTHEAP);
NAText lHbaseCreateOptionsArray[HBASE_MAX_OPTIONS];
NAList<HbaseCreateOption*> * hbaseCreateOptions = inHbaseCreateOptions;
@@ -4155,7 +4155,7 @@ short CmpSeabaseDDL::genHbaseCreateOptions(
if (numHBO == 0)
return 0;
- hbaseCreateOptions = new(heap) NAList<HbaseCreateOption*>;
+ hbaseCreateOptions = new(heap) NAList<HbaseCreateOption*>(heap);
const char * optionStart = startNumHBO + 4;
@@ -4304,7 +4304,7 @@ short CmpSeabaseDDL::updateHbaseOptionsInMetadata(
// old list is empty.
if (!hbaseCreateOptions)
- hbaseCreateOptions = new(STMTHEAP) NAList<HbaseCreateOption *>;
+ hbaseCreateOptions = new(STMTHEAP) NAList<HbaseCreateOption *>(STMTHEAP);
NAList<HbaseCreateOption *> & newHbaseCreateOptions = edhbo->getHbaseOptions();
for (CollIndex i = 0; i < newHbaseCreateOptions.entries(); i++)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpSeabaseDDLindex.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLindex.cpp b/core/sql/sqlcomp/CmpSeabaseDDLindex.cpp
index cef856b..6f0ecd0 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLindex.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLindex.cpp
@@ -834,7 +834,7 @@ void CmpSeabaseDDL::createSeabaseIndex( StmtDDLCreateIndex * createIndexNode,
ComTdbVirtTableColumnInfo * colInfoArray = NULL;
ComTdbVirtTableKeyInfo * keyInfoArray = NULL;
- NAList<NAString> selColList;
+ NAList<NAString> selColList(STMTHEAP);
if (createIndexColAndKeyInfoArrays(indexColRefArray,
createIndexNode->isUniqueSpecified(),
@@ -912,7 +912,7 @@ void CmpSeabaseDDL::createSeabaseIndex( StmtDDLCreateIndex * createIndexNode,
ii->nonKeyColCount = nonKeyColCount;
ii->keyInfoArray = NULL; //keyInfoArray;
- NAList<HbaseCreateOption*> hbaseCreateOptions;
+ NAList<HbaseCreateOption*> hbaseCreateOptions(STMTHEAP);
NAString hco;
if (alignedFormat)
@@ -1345,7 +1345,7 @@ void CmpSeabaseDDL::populateSeabaseIndex(
if (isValid)
continue;
- NAList<NAString> selColList;
+ NAList<NAString> selColList(STMTHEAP);
for (Lng32 ii = 0; ii < naf->getAllColumns().entries(); ii++)
{
@@ -2140,7 +2140,7 @@ void CmpSeabaseDDL::alterSeabaseIndexHBaseOptions(
// tell HBase to change the options
- NAList<NAString> nal;
+ NAList<NAString> nal(STMTHEAP);
nal.insert(naTable->defaultColFam());
HbaseStr hbaseTable;
hbaseTable.val = (char*)extNameForHbase.data();
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp b/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
index 13feea9..b0e1112 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLrepos.cpp
@@ -382,8 +382,8 @@ short CmpSeabaseDDL::dropAndLogReposViews(ExeCliInterface * cliInterface,
if (tableUID != -1) // if we got it
{
- NAList<NAString> viewNameList;
- NAList<NAString> viewDefnList;
+ NAList<NAString> viewNameList(STMTHEAP);
+ NAList<NAString> viewDefnList(STMTHEAP);
short retcode1 =
saveAndDropUsingViews(tableUID, cliInterface,
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
index b5536f6..596ea0c 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLtable.cpp
@@ -2108,7 +2108,7 @@ short CmpSeabaseDDL::createSeabaseTable2(
tableInfo->numSaltPartns = (numSplits > 0 ? numSplits+1 : 0);
tableInfo->rowFormat = (alignedFormat ? COM_ALIGNED_FORMAT_TYPE : COM_HBASE_FORMAT_TYPE);
- NAList<HbaseCreateOption*> hbaseCreateOptions;
+ NAList<HbaseCreateOption*> hbaseCreateOptions(STMTHEAP);
NAString hco;
short retVal = setupHbaseOptions(createTableNode->getHbaseOptionsClause(),
@@ -5109,11 +5109,11 @@ void CmpSeabaseDDL::alterSeabaseTableAddColumn(
}
HbaseCreateOption hbco("NAME", trafColFam.data());
- NAList<HbaseCreateOption*> hbcol;
+ NAList<HbaseCreateOption*> hbcol(STMTHEAP);
hbcol.insert(&hbco);
ElemDDLHbaseOptions edhbo(&hbcol, STMTHEAP);
- NAList<NAString> nal;
+ NAList<NAString> nal(STMTHEAP);
nal.insert(trafColFam);
HbaseStr hbaseTable;
@@ -5765,8 +5765,8 @@ void CmpSeabaseDDL::alterSeabaseTableDropColumn(
Int64 objUID = naTable->objectUid().castToInt64();
- NAList<NAString> viewNameList;
- NAList<NAString> viewDefnList;
+ NAList<NAString> viewNameList(STMTHEAP);
+ NAList<NAString> viewDefnList(STMTHEAP);
if (saveAndDropUsingViews(objUID, &cliInterface, viewNameList, viewDefnList))
{
NAString reason = "Error occurred while saving views.";
@@ -6871,8 +6871,8 @@ void CmpSeabaseDDL::alterSeabaseTableAlterColumnDatatype(
// the views.
// At the end of alter, views will be recreated. If an error happens
// during view recreation, alter will fail.
- NAList<NAString> viewNameList;
- NAList<NAString> viewDefnList;
+ NAList<NAString> viewNameList(STMTHEAP);
+ NAList<NAString> viewDefnList(STMTHEAP);
if (saveAndDropUsingViews(objUID, &cliInterface, viewNameList, viewDefnList))
{
NAString reason = "Error occurred while saving views.";
@@ -7145,8 +7145,8 @@ void CmpSeabaseDDL::alterSeabaseTableAlterColumnRename(
Int64 objUID = naTable->objectUid().castToInt64();
- NAList<NAString> viewNameList;
- NAList<NAString> viewDefnList;
+ NAList<NAString> viewNameList(STMTHEAP);
+ NAList<NAString> viewDefnList(STMTHEAP);
if (saveAndDropUsingViews(objUID, &cliInterface, viewNameList, viewDefnList))
{
NAString reason = "Error occurred while saving dependent views.";
@@ -7730,7 +7730,7 @@ void CmpSeabaseDDL::alterSeabaseTableAddUniqueConstraint(
return;
}
- NAList<NAString> emptyKeyColList;
+ NAList<NAString> emptyKeyColList(STMTHEAP);
if (updateIndexInfo(keyColList,
keyColOrderList,
emptyKeyColList,
@@ -8715,7 +8715,7 @@ void CmpSeabaseDDL::alterSeabaseTableAddCheckConstraint(
}
}
- NAList<NAString> keyColList;
+ NAList<NAString> keyColList(STMTHEAP);
if (constraintErrorChecks(&cliInterface,
alterAddConstraint->castToStmtDDLAddConstraintCheck(),
naTable,
@@ -8779,7 +8779,7 @@ void CmpSeabaseDDL::alterSeabaseTableAddCheckConstraint(
comUID.make_UID();
Int64 checkUID = comUID.get_value();
- NAList<NAString> emptyList;
+ NAList<NAString> emptyList(STMTHEAP);
if (updateConstraintMD(keyColList, emptyList, uniqueStr, tableUID, checkUID,
naTable, COM_CHECK_CONSTRAINT, TRUE, &cliInterface))
{
@@ -9721,7 +9721,7 @@ void CmpSeabaseDDL::createNativeHbaseTable(
colFamVec.push_back(nas->data());
}
- NAList<HbaseCreateOption*> hbaseCreateOptions;
+ NAList<HbaseCreateOption*> hbaseCreateOptions(STMTHEAP);
NAString hco;
retcode = setupHbaseOptions(createTableNode->getHbaseOptionsClause(),
0, objectNamePart,
@@ -10380,7 +10380,7 @@ ComTdbVirtTablePrivInfo * CmpSeabaseDDL::getSeabasePrivInfo(
ComTdbVirtTablePrivInfo *privInfo = new (STMTHEAP) ComTdbVirtTablePrivInfo();
// PrivMgrDesc operator= is a deep copy
- privInfo->privmgr_desc_list = new (STMTHEAP) NAList<PrivMgrDesc>;
+ privInfo->privmgr_desc_list = new (STMTHEAP) NAList<PrivMgrDesc>(STMTHEAP);
for (size_t i = 0; i < privDescs.size(); i++)
privInfo->privmgr_desc_list->insert(privDescs[i]);
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLview.cpp b/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
index 50be2fe..eeccb3b 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLview.cpp
@@ -496,7 +496,7 @@ short CmpSeabaseDDL::getListOfReferencedTables(
{
Lng32 retcode = 0;
- NAList <objectRefdByMe> tempRefdList;
+ NAList <objectRefdByMe> tempRefdList(STMTHEAP);
retcode = getListOfDirectlyReferencedObjects (cliInterface, objectUID, tempRefdList);
// If unexpected error - return
@@ -1183,7 +1183,7 @@ void CmpSeabaseDDL::dropSeabaseView(
// get the list of all tables referenced by the view. Save this list so
// referenced tables can be removed from cache later
- NAList<objectRefdByMe> tablesRefdList;
+ NAList<objectRefdByMe> tablesRefdList(STMTHEAP);
short status = getListOfReferencedTables(&cliInterface, objUID, tablesRefdList);
if (usingViewsQueue)
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/PrivMgrPrivileges.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/PrivMgrPrivileges.cpp b/core/sql/sqlcomp/PrivMgrPrivileges.cpp
index 0dbb45b..6e96350 100644
--- a/core/sql/sqlcomp/PrivMgrPrivileges.cpp
+++ b/core/sql/sqlcomp/PrivMgrPrivileges.cpp
@@ -1229,7 +1229,7 @@ PrivStatus PrivMgrPrivileges::grantColumnPriv(
}
// Get existing column grants from grantor to the specified grantee.
- NAList<PrivMgrCoreDesc> grantedColPrivs;
+ NAList<PrivMgrCoreDesc> grantedColPrivs(STMTHEAP);
getColRowsForGranteeGrantor(columnRowList_,
granteeID,grantorID_,
grantedColPrivs);
@@ -3028,7 +3028,7 @@ PrivStatus PrivMgrPrivileges::revokeColumnPriv(
NAList<PrivMgrCoreDesc> colPrivsToRevoke = privsToRevoke.getColumnPrivs();
// Get existing column grants from grantor to the specified grantee.
- NAList<PrivMgrCoreDesc> grantedColPrivs;
+ NAList<PrivMgrCoreDesc> grantedColPrivs(STMTHEAP);
getColRowsForGranteeGrantor(columnRowList_,
granteeID,grantorID_,
grantedColPrivs);
@@ -4511,7 +4511,7 @@ PrivStatus PrivMgrPrivileges::getPrivsFromAllGrantors(
if (retcode == STATUS_ERROR)
return retcode;
- NAList<PrivMgrCoreDesc> coreColumnPrivs;
+ NAList<PrivMgrCoreDesc> coreColumnPrivs(STMTHEAP);
for (int32_t i = 0; i < rowList.size();++i)
{
ColumnPrivsMDRow &row = static_cast<ColumnPrivsMDRow &> (*rowList[i]);
@@ -5107,7 +5107,7 @@ PrivStatus PrivMgrPrivileges::convertPrivsToDesc(
//
// Input may have same column ordinal in multiple entries, but the input is
// guaranteed not to contain same ordinal and privType more than once.
- NAList<PrivMgrCoreDesc> columnCorePrivs;
+ NAList<PrivMgrCoreDesc> columnCorePrivs(STMTHEAP);
for (size_t i = 0; i < colPrivsList.size(); i++)
{
const ColPrivSpec &colPrivSpec = colPrivsList[i];
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/QCache.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/QCache.cpp b/core/sql/sqlcomp/QCache.cpp
index 2478922..e2ffc6e 100644
--- a/core/sql/sqlcomp/QCache.cpp
+++ b/core/sql/sqlcomp/QCache.cpp
@@ -1284,7 +1284,7 @@ NABoolean CacheData::backpatchParams
CollIndex y=0;
Int32 countP2 = formals_.entries();
Int32 countS2 = fSels_.entries();
- LIST(NAType*) hqcTypes;
+ LIST(NAType*) hqcTypes(STMTHEAP);
for (CollIndex j = 0; j < (countP2+countS2); j ++)
{
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/QCache.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/QCache.h b/core/sql/sqlcomp/QCache.h
index cb12932..a3d03dc 100644
--- a/core/sql/sqlcomp/QCache.h
+++ b/core/sql/sqlcomp/QCache.h
@@ -642,6 +642,7 @@ class HQCParseKey : public HQCCacheKey
, nOfTokens_(other.nOfTokens_)
, isStringNormalized_(other.isStringNormalized_)
, paramStart_(other.paramStart_)
+ , HQCDynParamMap_(other.HQCDynParamMap_, h)
{}
~HQCParseKey() {}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/nadefaults.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/nadefaults.cpp b/core/sql/sqlcomp/nadefaults.cpp
index d001ce6..c405ef8 100644
--- a/core/sql/sqlcomp/nadefaults.cpp
+++ b/core/sql/sqlcomp/nadefaults.cpp
@@ -4127,6 +4127,7 @@ NADefaults::NADefaults(NAMemory * h)
, heap_(h)
, resetAll_(FALSE)
, defFlags_(0)
+ , tablesRead_(h)
{
static THREAD_P NABoolean systemParamterUpdated = FALSE;
// First (but only if NSK-LITE Services exist),
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/sqlcomp/parser.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/parser.cpp b/core/sql/sqlcomp/parser.cpp
index 58f2e7e..9f2a1c8 100644
--- a/core/sql/sqlcomp/parser.cpp
+++ b/core/sql/sqlcomp/parser.cpp
@@ -108,6 +108,8 @@ ULng32 cmmHashFunc_NAString(const NAString& str)
Parser::Parser(const CmpContext* cmpContext)
+ : hasOlapFunctions_(NULL),
+ hasTDFunctions_(NULL)
{
cmpContext_ = const_cast<CmpContext*>(cmpContext);
@@ -151,7 +153,8 @@ Parser::Parser(const CmpContext* cmpContext)
{
defaultColCharset_ = CharInfo::getCharSetEnum(cs);
}
-
+ hasOlapFunctions_.setHeap(wHeap_);
+ hasTDFunctions_.setHeap(wHeap_);
clearHasOlapFunctions();
HQCKey_ = NULL;
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/udrserv/spinfo.cpp
----------------------------------------------------------------------
diff --git a/core/sql/udrserv/spinfo.cpp b/core/sql/udrserv/spinfo.cpp
index 6c136c3..4bd708d 100644
--- a/core/sql/udrserv/spinfo.cpp
+++ b/core/sql/udrserv/spinfo.cpp
@@ -2096,7 +2096,8 @@ void SPInfo::moveDiagsIntoStream(ComDiagsArea *diags,
//***********************************************************************
SPList::SPList(UdrGlobals *udrGlobals)
- : udrGlobals_(udrGlobals)
+ : udrGlobals_(udrGlobals),
+ spInfoElement_(NULL) // on system heap
{
str_cpy_all( &eyeCatcher_[0], EYE_SPLIST + '\0' + '\0', 4 );
spInfoElement_.resize(0); // default size
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c164c5b0/core/sql/ustat/hs_cli.cpp
----------------------------------------------------------------------
diff --git a/core/sql/ustat/hs_cli.cpp b/core/sql/ustat/hs_cli.cpp
index 1260566..fb9818a 100644
--- a/core/sql/ustat/hs_cli.cpp
+++ b/core/sql/ustat/hs_cli.cpp
@@ -2031,7 +2031,7 @@ HSPersData* HSPersData::Instance(const NAString &catalog)
instance_ = new (CTXTHEAP) HSPersData;
if (persDataList_ == 0)
- persDataList_ = new (CTXTHEAP) NAList<NAString>;
+ persDataList_ = new (CTXTHEAP) NAList<NAString>(CTXTHEAP);
if (catalog_ == 0)
catalog_ = new (CTXTHEAP) NAString("");
if (schema_ == 0)