8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 10:43:03 +01:00

Fixed bug CORE-1649 : AV when recursive query used MERGE JOIN in execution plan

This commit is contained in:
hvlad 2007-12-12 09:01:52 +00:00
parent 1f8bcc8d87
commit d3c2482800

View File

@ -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++;