You've already forked mariadb-columnstore-engine
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:
@ -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()
|
||||
|
Reference in New Issue
Block a user