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

Fix some border cases, thanks to Denis Simonov

This commit is contained in:
Dmitry Yemanov 2024-07-21 14:58:47 +03:00
parent 55ae4db9db
commit d024b2669f
2 changed files with 5 additions and 1 deletions

View File

@ -137,7 +137,8 @@ namespace
auto rse = rseNode->rse;
fb_assert(rse);
if (rse->rse_boolean)
if (rse->rse_boolean && rse->rse_jointype == blr_inner &&
!rse->rse_first && !rse->rse_skip && !rse->rse_plan)
{
StreamList streams;
rse->computeRseStreams(streams);

View File

@ -641,6 +641,9 @@ Optimizer::~Optimizer()
RecordSource* Optimizer::compile(RseNode* subRse, BoolExprNodeStack* parentStack)
{
if (isSemiJoined())
parentStack = nullptr;
Optimizer subOpt(tdbb, csb, subRse, firstRows);
const auto rsb = subOpt.compile(parentStack);