You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-08-07 03:22:57 +03:00
chore(): review fixes
This commit is contained in:
@@ -863,6 +863,7 @@ void CalpontSelectExecutionPlan::pron(std::string&& pron)
|
|||||||
fPron = pron;
|
fPron = pron;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This routine doesn't copy derived table list, union vector, select subqueries, subquery list, and subselects.
|
||||||
execplan::SCSEP CalpontSelectExecutionPlan::cloneWORecursiveSelects()
|
execplan::SCSEP CalpontSelectExecutionPlan::cloneWORecursiveSelects()
|
||||||
{
|
{
|
||||||
execplan::SCSEP newPlan(new CalpontSelectExecutionPlan(fLocation));
|
execplan::SCSEP newPlan(new CalpontSelectExecutionPlan(fLocation));
|
||||||
@@ -925,15 +926,6 @@ execplan::SCSEP CalpontSelectExecutionPlan::cloneWORecursiveSelects()
|
|||||||
newPlan->filterTokenList(fFilterTokenList);
|
newPlan->filterTokenList(fFilterTokenList);
|
||||||
newPlan->havingTokenList(fHavingTokenList);
|
newPlan->havingTokenList(fHavingTokenList);
|
||||||
|
|
||||||
// Deep copy of subselects
|
|
||||||
// SelectList newSubSelects;
|
|
||||||
// for (const auto& sel : fSubSelects)
|
|
||||||
// {
|
|
||||||
// if (sel)
|
|
||||||
// newSubSelects.push_back(SCEP(sel->clone()));
|
|
||||||
// }
|
|
||||||
// newPlan->subSelects(newSubSelects);
|
|
||||||
|
|
||||||
// Deep copy of group by columns
|
// Deep copy of group by columns
|
||||||
GroupByColumnList newGroupByCols;
|
GroupByColumnList newGroupByCols;
|
||||||
for (const auto& col : fGroupByCols)
|
for (const auto& col : fGroupByCols)
|
||||||
@@ -971,42 +963,6 @@ execplan::SCSEP CalpontSelectExecutionPlan::cloneWORecursiveSelects()
|
|||||||
// Deep copy of table list
|
// Deep copy of table list
|
||||||
newPlan->tableList(fTableList);
|
newPlan->tableList(fTableList);
|
||||||
|
|
||||||
// // Deep copy of derived table list
|
|
||||||
// SelectList newDerivedTableList;
|
|
||||||
// for (const auto& sel : fDerivedTableList)
|
|
||||||
// {
|
|
||||||
// if (sel)
|
|
||||||
// newDerivedTableList.push_back(SCEP(sel->clone()));
|
|
||||||
// }
|
|
||||||
// newPlan->derivedTableList(newDerivedTableList);
|
|
||||||
|
|
||||||
// // Deep copy of union vector
|
|
||||||
// SelectList newUnionVec;
|
|
||||||
// for (const auto& sel : fUnionVec)
|
|
||||||
// {
|
|
||||||
// if (sel)
|
|
||||||
// newUnionVec.push_back(SCEP(sel->clone()));
|
|
||||||
// }
|
|
||||||
// newPlan->unionVec(newUnionVec);
|
|
||||||
|
|
||||||
// // Deep copy of select subqueries
|
|
||||||
// SelectList newSelectSubList;
|
|
||||||
// for (const auto& sel : fSelectSubList)
|
|
||||||
// {
|
|
||||||
// if (sel)
|
|
||||||
// newSelectSubList.push_back(SCEP(sel->clone()));
|
|
||||||
// }
|
|
||||||
// newPlan->selectSubList(newSelectSubList);
|
|
||||||
|
|
||||||
// // Deep copy of subquery list
|
|
||||||
// std::vector<SCSEP> newSubSelectList;
|
|
||||||
// for (const auto& sel : fSubSelectList)
|
|
||||||
// {
|
|
||||||
// if (sel)
|
|
||||||
// newSubSelectList.push_back(SCSEP(sel->clone()));
|
|
||||||
// }
|
|
||||||
// newPlan->subSelectList(newSubSelectList);
|
|
||||||
|
|
||||||
return newPlan;
|
return newPlan;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,9 +51,9 @@ bool Rule::apply(execplan::CalpontSelectExecutionPlan& root) const
|
|||||||
bool hasBeenApplied = false;
|
bool hasBeenApplied = false;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
changedThisRound = walk(root) && !applyOnlyOnce;
|
changedThisRound = walk(root);
|
||||||
hasBeenApplied = changedThisRound;
|
hasBeenApplied |= changedThisRound;
|
||||||
} while (changedThisRound);
|
} while (changedThisRound && !applyOnlyOnce);
|
||||||
|
|
||||||
return hasBeenApplied;
|
return hasBeenApplied;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user