Database Management Systems

by Raghu Ramakrishnan and Johannes Gehrke

 

Database Management Systems

by Raghu Ramakrishnan and Johannes Gehrke

Nested Loops Join Trace

Nested Loops Join nested_loops_join::nested_loops_join - called by interpret
The two input iterators, the tuple information about the types of the tuples of the input iterators, and the ouput tuple information must be passed to the constructor. nested_loops_join.get_next

FileScanIter::get_next
Sets up tuple information
HeapFile::HeapFile
HeapFile::openScan
FileScanIter::get_next
Scan::getNext
Project
Eval - selection

HeapFile::HeapFile
DB::get_file_entry - see if HeapFile already exists
BufMgr::newPage - create a header page for the HeapFile
DB::add_file_entry
set up header page
BM::pinPage - pin header page until HeapFile is closed

Scan::getNext
BM::pinPage - pin current page where next record is
HFPage::firstRecord - gets page / slot info about where record is
HFPage::getNextPage - if new page is needed
HFPage::nextRecord - gets page / slot info about where record is
HFPage::getRecord

Back to the Overview
Click here to go the Minibase Home Page