1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-11-02 06:13:16 +03:00

feat(rbo,rules,QA): SC::setSimpleColumn does not have more than 1 SC in its SimpleColumn list.

This commit is contained in:
drrtuy
2025-07-29 12:48:41 +00:00
parent bd168834b1
commit 8f4e9228b2
2 changed files with 11 additions and 10 deletions

View File

@@ -1018,20 +1018,14 @@ execplan::SCSEP CalpontSelectExecutionPlan::cloneForTableWORecursiveSelects(
for (const auto& rc : fReturnedCols)
{
rc->setSimpleColumnList();
for (auto* simpleColumn : rc->simpleColumnList())
for (auto* sc : rc->simpleColumnList())
{
// TODO check that is columnstore is correct
// use RC::singleTable here
execplan::CalpontSystemCatalog::TableAliasName rcTable(
simpleColumn->schemaName(), simpleColumn->tableName(), simpleColumn->tableAlias(), "",
simpleColumn->isColumnStore());
if (!targetTableAlias.weakerEq(rcTable))
if (targetTableAlias.weakerEq(*sc->singleTable()))
{
continue;
}
newReturnedCols.push_back(SRCP(rc->clone()));
}
}
}
if (newReturnedCols.empty())
{
std::cout << "cloneForTableWORecursiveSelects(): there are no Returned Columns after table filtering."

View File

@@ -749,7 +749,14 @@ void SimpleColumn::evaluate(Row& row, bool& isNull)
void SimpleColumn::setSimpleColumnList()
{
if (fSimpleColumnList.empty())
{
fSimpleColumnList.push_back(this);
}
else
{
fSimpleColumnList.back() = this;
}
}
std::optional<CalpontSystemCatalog::TableAliasName> sameTableCheck(std::vector<SimpleColumn*> simpleColumnList)