You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
This patch introduces support for scanning/filtering vectorized execution for numeric-based
data types TEXT, CHAR, VARCHAR, FLOAT and DOUBLE are not yet supported by vectorized path This patch introduces an example for Google benchmarking suite to measure a perf diff b/w legacy scan/filtering code and the templated version
This commit is contained in:
committed by
Roman Nozdrin
parent
cac23b0afc
commit
af36f9940f
@ -168,12 +168,11 @@ void ColumnCommand::_loadData()
|
||||
|
||||
|
||||
_mask = mask;
|
||||
// primMsg->RidFlags = 0xffff; // disables selective block loading
|
||||
//cout <<__FILE__ << "::issuePrimitive() o: " << getOID() << " l:" << primMsg->LBID << " ll: " << oidLastLbid << endl;
|
||||
//primMsg->RidFlags = 0xffff; // disables selective block loading
|
||||
//cerr << "::ColumnCommand::_loadData OID " << getOID() << " l:" << primMsg->LBID << " ll: " << oidLastLbid << " primMsg->RidFlags " << primMsg->RidFlags << endl;
|
||||
|
||||
for (i = 0; i < W; ++i, _mask <<= shift)
|
||||
{
|
||||
|
||||
if ((!lastBlockReached && _isScan) || (!_isScan && primMsg->RidFlags & _mask))
|
||||
{
|
||||
lbids[blocksToLoad] = primMsg->LBID + i;
|
||||
@ -397,7 +396,6 @@ void ColumnCommand::_process_OT_BOTH()
|
||||
{
|
||||
using T = typename datatypes::WidthToSIntegralType<W>::type;
|
||||
bpp->ridCount = outMsg->NVALS;
|
||||
bpp->ridCount = outMsg->NVALS;
|
||||
bpp->ridMap = outMsg->RidFlags;
|
||||
uint8_t* outPtr = reinterpret_cast<uint8_t*>(&outMsg[1]);
|
||||
auto* ridPos = primitives::getRIDArrayPosition(outPtr, 0);
|
||||
|
@ -154,7 +154,7 @@ void DictStep::issuePrimitive(bool isFilter)
|
||||
|
||||
if (!(primMsg->LBID & 0x8000000000000000LL))
|
||||
{
|
||||
//cout << "DS issuePrimitive lbid: " << (uint64_t)primMsg->LBID << endl;
|
||||
//std::cerr << "DS issuePrimitive lbid: " << (uint64_t)primMsg->LBID << endl;
|
||||
primitiveprocessor::loadBlock(primMsg->LBID,
|
||||
bpp->versionInfo,
|
||||
bpp->txnID,
|
||||
@ -577,7 +577,7 @@ void DictStep::_projectToRG(RowGroup& rg, uint32_t col)
|
||||
for (i = curResultCounter; i < tmpResultCounter; i++)
|
||||
{
|
||||
rg.getRow(newRidList[i].pos, &r);
|
||||
//cout << "serializing " << tmpStrings[i] << endl;
|
||||
//std::cerr << "serializing " << tmpStrings[i] << endl;
|
||||
r.setStringField(tmpStrings[i].getConstString(), col);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user