mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 02:03:03 +01:00
Misc and fix per Claudio comments
This commit is contained in:
parent
e83317a4ec
commit
a6bd7851e8
@ -244,11 +244,6 @@ bool AggNode::dsqlFieldRemapper(FieldRemapper& visitor)
|
||||
visitor.context, visitor.partitionNode, visitor.orderNode));
|
||||
return false;
|
||||
}
|
||||
|
||||
for (dsql_nod*** i = dsqlChildNodes.begin(); i != dsqlChildNodes.end(); ++i)
|
||||
visitor.visit(*i);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
for (dsql_nod*** i = dsqlChildNodes.begin(); i != dsqlChildNodes.end(); ++i)
|
||||
|
@ -481,6 +481,7 @@ bool OverNode::dsqlSubSelectFinder(SubSelectFinder& /*visitor*/)
|
||||
|
||||
bool OverNode::dsqlFieldRemapper(FieldRemapper& visitor)
|
||||
{
|
||||
// Save the values to restore them in the end.
|
||||
AutoSetRestore<dsql_nod*> autoPartitionNode(&visitor.partitionNode, visitor.partitionNode);
|
||||
AutoSetRestore<dsql_nod*> autoOrderNode(&visitor.orderNode, visitor.orderNode);
|
||||
|
||||
|
@ -562,6 +562,8 @@ bool SlidingWindow::move(SINT64 delta)
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
impure_value* impure = partitionKeys.getBuffer(group->nod_count);
|
||||
memset(impure, 0, sizeof(impure_value) * group->nod_count);
|
||||
|
||||
@ -577,6 +579,12 @@ bool SlidingWindow::move(SINT64 delta)
|
||||
else
|
||||
EVL_make_value(tdbb, desc, impure);
|
||||
}
|
||||
}
|
||||
catch (const Exception&)
|
||||
{
|
||||
stream->locate(tdbb, savedPosition); // Reposition for a new try.
|
||||
throw;
|
||||
}
|
||||
|
||||
moved = true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user