mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-24 09:23:03 +01:00
bugfix: Fix FB1.5 optimizer bug which causes the server to crash.
This commit is contained in:
parent
141a6daf30
commit
57eb03f09f
@ -536,7 +536,12 @@ RSB OPT_compile(TDBB tdbb,
|
|||||||
SLONG saved_conjunct_count = conjunct_count;
|
SLONG saved_conjunct_count = conjunct_count;
|
||||||
*stack_end = parent_stack;
|
*stack_end = parent_stack;
|
||||||
conjunct_count += distribute_equalities(&conjunct_stack, csb);
|
conjunct_count += distribute_equalities(&conjunct_stack, csb);
|
||||||
|
if (parent_stack) {
|
||||||
|
// Find parent_stack position and reset it to NULL
|
||||||
|
for (stack_end = &conjunct_stack; *stack_end && !(*stack_end == parent_stack);
|
||||||
|
stack_end = &(*stack_end)->lls_next) ;
|
||||||
*stack_end = NULL;
|
*stack_end = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (conjunct_count > MAX_CONJUNCTS)
|
if (conjunct_count > MAX_CONJUNCTS)
|
||||||
ERR_post(isc_optimizer_blk_exc, 0);
|
ERR_post(isc_optimizer_blk_exc, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user