1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-01 06:46:55 +03:00

MCOL-5021 Remove hard-coded values for data type, column width

and compression type for the AUX column, and replace them with
constants defined in the execplan namespace.
This commit is contained in:
Gagan Goel
2022-06-03 13:18:25 -04:00
parent c8b6b154bf
commit 262cd5c501
11 changed files with 129 additions and 37 deletions

View File

@ -44,8 +44,10 @@ using namespace messageqcpp;
namespace joblist
{
ColumnCommandJL::ColumnCommandJL(const pColScanStep& scan, vector<BRM::LBID_t> lastLBID,
bool hasAuxCol_, const std::vector<BRM::EMEntry>& extentsAux_) :
extentsAux(extentsAux_), hasAuxCol(hasAuxCol_)
bool hasAuxCol_, const std::vector<BRM::EMEntry>& extentsAux_,
execplan::CalpontSystemCatalog::OID oidAux) :
extentsAux(extentsAux_), hasAuxCol(hasAuxCol_),
fOidAux(oidAux)
{
BRM::DBRM dbrm;
isScan = true;
@ -163,6 +165,8 @@ ColumnCommandJL::ColumnCommandJL(const ColumnCommandJL& prevCmd, const DictStepJ
BOP = prevCmd.BOP;
}
isScan = prevCmd.isScan;
hasAuxCol = prevCmd.hasAuxCol;
extentsAux = prevCmd.extentsAux;
colType = prevCmd.colType;
extents = prevCmd.extents;
OID = prevCmd.OID;
@ -375,6 +379,20 @@ void ColumnCommandJL::reloadExtents()
}
sort(extents.begin(), extents.end(), BRM::ExtentSorter());
if (hasAuxCol)
{
err = dbrm.getExtents(fOidAux, extentsAux);
if (err)
{
ostringstream os;
os << "BRM lookup error. Could not get extents for Aux OID " << fOidAux;
throw runtime_error(os.str());
}
sort(extentsAux.begin(), extentsAux.end(), BRM::ExtentSorter());
}
}
bool ColumnCommandJL::getIsDict()