mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 06:43:04 +01:00
This should resolve CORE-3753.
This commit is contained in:
parent
2ed75f6d96
commit
bcd483d173
@ -1894,12 +1894,19 @@ bool RseNode::dsqlMatch(const ExprNode* other, bool /*ignoreMapCast*/) const
|
||||
// Make up join node and mark relations as "possibly NULL" if they are in outer joins (inOuterJoin).
|
||||
RseNode* RseNode::dsqlPass(DsqlCompilerScratch* dsqlScratch)
|
||||
{
|
||||
// Set up an empty context to process the joins
|
||||
// Set up a new (empty) context to process the joins, but ensure
|
||||
// that it includes system (e.g. trigger) contexts (if present).
|
||||
|
||||
DsqlContextStack* const base_context = dsqlScratch->context;
|
||||
DsqlContextStack temp;
|
||||
dsqlScratch->context = &temp;
|
||||
|
||||
for (DsqlContextStack::iterator iter(*base_context); iter.hasData(); ++iter)
|
||||
{
|
||||
if (iter.object()->ctx_flags & CTX_system)
|
||||
temp.push(iter.object());
|
||||
}
|
||||
|
||||
RseNode* node = FB_NEW(getPool()) RseNode(getPool());
|
||||
node->dsqlExplicitJoin = dsqlExplicitJoin;
|
||||
node->rse_jointype = rse_jointype;
|
||||
|
Loading…
Reference in New Issue
Block a user