You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-05 16:15:50 +03:00
fix(aggregation): replaced instances with references
This commit is contained in:
@@ -840,7 +840,7 @@ void GroupConcatOrderBy::merge(GroupConcator* gc)
|
|||||||
GroupConcatOrderBy* go = dynamic_cast<GroupConcatOrderBy*>(gc);
|
GroupConcatOrderBy* go = dynamic_cast<GroupConcatOrderBy*>(gc);
|
||||||
|
|
||||||
auto& orderByQueue = getQueue();
|
auto& orderByQueue = getQueue();
|
||||||
auto mergeQueue = go->getQueue();
|
auto& mergeQueue = go->getQueue();
|
||||||
|
|
||||||
while (mergeQueue.empty() == false)
|
while (mergeQueue.empty() == false)
|
||||||
{
|
{
|
||||||
|
@@ -835,7 +835,7 @@ void JsonArrayAggOrderBy::merge(GroupConcator* gc)
|
|||||||
JsonArrayAggOrderBy* go = dynamic_cast<JsonArrayAggOrderBy*>(gc);
|
JsonArrayAggOrderBy* go = dynamic_cast<JsonArrayAggOrderBy*>(gc);
|
||||||
|
|
||||||
auto& orderByQueue = getQueue();
|
auto& orderByQueue = getQueue();
|
||||||
auto mergeQueue = go->getQueue();
|
auto& mergeQueue = go->getQueue();
|
||||||
|
|
||||||
while (mergeQueue.empty() == false)
|
while (mergeQueue.empty() == false)
|
||||||
{
|
{
|
||||||
|
@@ -1410,8 +1410,6 @@ void TupleHashJoinStep::finishSmallOuterJoin()
|
|||||||
RowGroup l_outputRG = outputRG;
|
RowGroup l_outputRG = outputRG;
|
||||||
RowGroup l_fe2Output = fe2Output;
|
RowGroup l_fe2Output = fe2Output;
|
||||||
|
|
||||||
// auto alloc = resourceManager->getAllocator<RGDataBufType>(10 * 1024 * 1024);
|
|
||||||
// RGData joinedData(alloc);
|
|
||||||
RGData joinedData;
|
RGData joinedData;
|
||||||
|
|
||||||
joiners[lastSmallOuterJoiner]->getUnmarkedRows(&unmatched);
|
joiners[lastSmallOuterJoiner]->getUnmarkedRows(&unmatched);
|
||||||
@@ -1727,7 +1725,6 @@ void TupleHashJoinStep::joinOneRG(
|
|||||||
if (!smallNullMem)
|
if (!smallNullMem)
|
||||||
smallNullMem = &smallNullMemory;
|
smallNullMem = &smallNullMemory;
|
||||||
|
|
||||||
// auto alloc = resourceManager->getAllocator<RGDataBufType>(10 * 1024 * 1024);
|
|
||||||
RGData joinedData;
|
RGData joinedData;
|
||||||
uint32_t matchCount, smallSideCount = tjoiners->size();
|
uint32_t matchCount, smallSideCount = tjoiners->size();
|
||||||
uint32_t j, k;
|
uint32_t j, k;
|
||||||
@@ -1880,7 +1877,7 @@ void TupleHashJoinStep::generateJoinResultSet(const vector<vector<Row::Pointer>
|
|||||||
l_outputRG.initRow(&fe2InRow);
|
l_outputRG.initRow(&fe2InRow);
|
||||||
l_fe2RG.initRow(&fe2OutRow);
|
l_fe2RG.initRow(&fe2OutRow);
|
||||||
|
|
||||||
// WIP do we remove previosuly pushed(line 1824) rgData
|
// WIP do we remove previosuly pushed(line 1825) rgData
|
||||||
// replacing it with a new FE2 rgdata added by processFE2?
|
// replacing it with a new FE2 rgdata added by processFE2?
|
||||||
// Generates a new RGData w/o accounting its memory consumption
|
// Generates a new RGData w/o accounting its memory consumption
|
||||||
processFE2(l_outputRG, l_fe2RG, fe2InRow, fe2OutRow, &outputData, fe2.get());
|
processFE2(l_outputRG, l_fe2RG, fe2InRow, fe2OutRow, &outputData, fe2.get());
|
||||||
@@ -2022,6 +2019,7 @@ void TupleHashJoinStep::abort()
|
|||||||
JobStep::abort();
|
JobStep::abort();
|
||||||
boost::mutex::scoped_lock sl(djsLock);
|
boost::mutex::scoped_lock sl(djsLock);
|
||||||
|
|
||||||
|
// To prevent potential endless loop in bucketsToTables()
|
||||||
for (auto& joiner : joiners)
|
for (auto& joiner : joiners)
|
||||||
joiner->abort();
|
joiner->abort();
|
||||||
|
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
Copyright (c) 2024 MariaDB Corporation
|
Copyright (c) 2025 MariaDB Corporation
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
|
Reference in New Issue
Block a user