You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
MCOL-4173 This patch adds support for wide-DECIMAL INNER, OUTER, SEMI, functional JOINs
based on top of TypelessData
This commit is contained in:
@ -1093,6 +1093,7 @@ void BatchPrimitiveProcessorJL::createBPP(ByteStream& bs) const
|
||||
cout << "PMJoinerCount = " << PMJoinerCount << endl;
|
||||
#endif
|
||||
|
||||
bool smallSideRGSent = false;
|
||||
for (i = 0; i < PMJoinerCount; i++)
|
||||
{
|
||||
bs << (uint32_t) tJoiners[i]->size();
|
||||
@ -1121,6 +1122,17 @@ void BatchPrimitiveProcessorJL::createBPP(ByteStream& bs) const
|
||||
{
|
||||
serializeVector<uint32_t>(bs, tJoiners[i]->getLargeKeyColumns());
|
||||
bs << (uint32_t) tJoiners[i]->getKeyLength();
|
||||
// MCOL-4173 Notify PP if smallSide and largeSide have different column widths
|
||||
// and send smallSide RG to PP.
|
||||
bool joinHasSkewedKeyColumn = tJoiners[i]->joinHasSkewedKeyColumn();
|
||||
bs << joinHasSkewedKeyColumn;
|
||||
if (!smallSideRGSent && joinHasSkewedKeyColumn)
|
||||
{
|
||||
idbassert(!smallSideRGs.empty());
|
||||
bs << smallSideRGs[0];
|
||||
serializeVector<uint32_t>(bs, tJoiners[i]->getSmallKeyColumns());
|
||||
smallSideRGSent = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1606,17 +1618,6 @@ bool BatchPrimitiveProcessorJL::nextTupleJoinerMsg(ByteStream& bs)
|
||||
|
||||
smallSide.setRowCount(toSend);
|
||||
tmpData.serialize(bs, smallSide.getDataSize());
|
||||
|
||||
/*
|
||||
uint32_t lpos;
|
||||
uint8_t *buf;
|
||||
|
||||
bs.needAtLeast(r.getSize() * toSend);
|
||||
buf = (uint8_t *) bs.getInputPtr();
|
||||
//for (i = pos, lpos = 0; i < pos + toSend; i++, lpos += r.getSize())
|
||||
// memcpy(&buf[lpos], (*tSmallSide)[i], r.getSize());
|
||||
bs.advanceInputPtr(r.getSize() * toSend);
|
||||
*/
|
||||
}
|
||||
|
||||
pos += toSend;
|
||||
|
Reference in New Issue
Block a user