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:
parent
55ae4db9db
commit
d024b2669f
@ -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);
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user