#include <IScanOperator.h>
Inherits IQueryOperator.
Inherited by FileScanOperator.
Public Member Functions | |
virtual ReturnCode | openScan (int nAttribute, ComparisonOp op, const TypedValue *value)=0 |
Opens a scan with a given comparison operator and value. | |
virtual ReturnCode | closeScan ()=0 |
Closes the scan, performing any necessary cleanup. | |
virtual | ~IScanOperator () |
Destructor for IScanOperator. |
This is an extension of IQueryOperator to support comparison-based scans, in order to support the generic approach to (index) nested loops join discussed in lecture. You are not required to use this interface, and you are free to change it as you see fit. The provided FileScanOperator implements this interface; if you want to follow the approach advocated in lecture, you will also write an IndexScanOperator class implementing the interface as well. Then you will implement a NestedLoopsJoinOperator whose left child will be an IQueryOperator object, and whose right child will be an IScanOperator object. If the right child is a FileScanOperator, then the join will be the usual nested loops join. If the right child is an IndexScanOperator, then the join will be an index nested loops join. The code implementing your NestedLoopsJoinOperator should not know or care which version of the join is being performed.
virtual IScanOperator::~IScanOperator | ( | ) | [inline, virtual] |
Destructor for IScanOperator.
Destructor for IScanOperator, declared virtual to ensure that the inherited class destructor is called to perform implementation-specific cleanup.
virtual ReturnCode IScanOperator::openScan | ( | int | nAttribute, | |
ComparisonOp | op, | |||
const TypedValue * | value | |||
) | [pure virtual] |
Opens a scan with a given comparison operator and value.
nAttribute | Which column is to be used in the comparison | |
op | The comparison being performed | |
value | The constant value being compared against |
Implemented in FileScanOperator.
virtual ReturnCode IScanOperator::closeScan | ( | ) | [pure virtual] |
Closes the scan, performing any necessary cleanup.
Closes the scan, performing any necessary cleanup.
Implemented in FileScanOperator.