MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / CMP_post_rse

Function CMP_post_rse

src/jrd/cmp.cpp:507–534  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

505
506
507RecordSource* CMP_post_rse(thread_db* tdbb, CompilerScratch* csb, RseNode* rse)
508{
509/**************************************
510 *
511 * C M P _ p o s t _ r s e
512 *
513 **************************************
514 *
515 * Functional description
516 * Perform actual optimization of an RseNode and clear activity.
517 *
518 **************************************/
519 SET_TDBB(tdbb);
520
521 fb_assert(csb->csb_currentCursorId);
522
523 const auto rsb = Optimizer::compile(tdbb, csb, rse);
524
525 // Mark all the substreams as inactive
526
527 StreamList streams;
528 rse->computeRseStreams(streams);
529
530 for (const auto stream : streams)
531 csb->csb_rpt[stream].deactivate();
532
533 return rsb;
534}

Callers 3

pass2Method · 0.85
pass2BooleanMethod · 0.85
pass2Method · 0.85

Calls 4

SET_TDBBFunction · 0.85
compileFunction · 0.85
computeRseStreamsMethod · 0.45
deactivateMethod · 0.45

Tested by

no test coverage detected