mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 16:03:02 +01:00
Fixed bug CORE-1649 : AV when recursive query used MERGE JOIN in execution plan
This commit is contained in:
parent
1f8bcc8d87
commit
d3c2482800
@ -3678,16 +3678,12 @@ bool RSBRecurse::get(thread_db* tdbb, RecordSource* rsb, irsb_recurse* irsb)
|
||||
irsb->irsb_data = FB_NEW(*request->req_pool) char[record->rec_length];
|
||||
memcpy(irsb->irsb_data, record->rec_data, record->rec_length);
|
||||
|
||||
// (Re-)Open a new child stream & reset record number
|
||||
rsb_ptr = &rsb->rsb_arg[2];
|
||||
if (irsb->irsb_level > 1) {
|
||||
RSE_close(tdbb, *rsb_ptr);
|
||||
}
|
||||
|
||||
irsb_recurse r = *irsb;
|
||||
memset(irsb, 0, inner_size);
|
||||
*irsb = r;
|
||||
|
||||
// (Re-)Open a new child stream & reset record number
|
||||
rsb_ptr = &rsb->rsb_arg[2];
|
||||
RSE_open(tdbb, *rsb_ptr);
|
||||
|
||||
irsb->irsb_level++;
|
||||
|
Loading…
Reference in New Issue
Block a user