From 439db48c5a8d73928b3d8d82037f2edba3fd5a40 Mon Sep 17 00:00:00 2001 From: Gagan Goel Date: Wed, 8 Jun 2022 13:35:07 -0400 Subject: [PATCH] MCOL-5021 Add support for the AUX column in TRUNCATE table processing. --- dbcon/ddlpackageproc/droptableprocessor.cpp | 8 ++++++++ dbcon/execplan/calpontsystemcatalog.cpp | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/dbcon/ddlpackageproc/droptableprocessor.cpp b/dbcon/ddlpackageproc/droptableprocessor.cpp index 9de3389b3..183b2ad2d 100644 --- a/dbcon/ddlpackageproc/droptableprocessor.cpp +++ b/dbcon/ddlpackageproc/droptableprocessor.cpp @@ -779,6 +779,7 @@ TruncTableProcessor::DDLResult TruncTableProcessor::processPackage( std::vector columnOidList; std::vector allOidList; + CalpontSystemCatalog::OID tableAuxColOid; CalpontSystemCatalog::RIDList tableColRidList; CalpontSystemCatalog::DictOIDList dictOIDList; execplan::CalpontSystemCatalog::ROPair roPair; @@ -919,6 +920,7 @@ TruncTableProcessor::DDLResult TruncTableProcessor::processPackage( userTableName.table = truncTableStmt.fTableName->fName; tableColRidList = systemCatalogPtr->columnRIDs(userTableName); + tableAuxColOid = systemCatalogPtr->tableAUXColumnOID(userTableName); dictOIDList = systemCatalogPtr->dictOIDs(userTableName); @@ -931,6 +933,12 @@ TruncTableProcessor::DDLResult TruncTableProcessor::processPackage( } } + if (tableAuxColOid > 3000) + { + columnOidList.push_back(tableAuxColOid); + allOidList.push_back(tableAuxColOid); + } + for (unsigned i = 0; i < dictOIDList.size(); i++) { if (dictOIDList[i].dictOID > 3000) diff --git a/dbcon/execplan/calpontsystemcatalog.cpp b/dbcon/execplan/calpontsystemcatalog.cpp index 1984effae..df4caa9a2 100644 --- a/dbcon/execplan/calpontsystemcatalog.cpp +++ b/dbcon/execplan/calpontsystemcatalog.cpp @@ -5843,6 +5843,10 @@ void CalpontSystemCatalog::flushCache() buildSysTablemap(); lk3.unlock(); + boost::mutex::scoped_lock namemaplk(fTableNameMapLock); + fTableNameMap.clear(); + namemaplk.unlock(); + boost::mutex::scoped_lock auxlk(fTableAUXColumnOIDMapLock); fTableAUXColumnOIDMap.clear(); auxlk.unlock();