8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 09:20:39 +01:00

Correction for my latest optimizer bugfix

This commit is contained in:
Dmitry Yemanov 2024-03-15 16:51:44 +03:00
parent bc4842d42e
commit 04b6509cd1

View File

@ -853,17 +853,15 @@ RecordSource* Optimizer::compile(BoolExprNodeStack* parentStack)
}
const auto river = FB_NEW_POOL(getPool()) River(csb, rsb, node, localStreams);
river->deactivate(csb);
if (computable)
{
outerStreams.join(localStreams);
river->activate(csb);
rivers.add(river);
}
else
{
river->deactivate(csb);
dependentRivers.add(river);
}
}
@ -894,6 +892,10 @@ RecordSource* Optimizer::compile(BoolExprNodeStack* parentStack)
else
rse->rse_aggregate = aggregate = nullptr;
// Activate the priorly used rivers
for (const auto river : rivers)
river->activate(csb);
bool sortCanBeUsed = true;
SortNode* const orgSortNode = sort;