#include <operation.h>
|
| Operation (FileId result_id, Catalog *catalog) |
| Constructor for the Operation class. Because Operation is an abstract class, an object cannot be created, but this constructor is used by derived classes.
|
|
virtual | ~Operation () |
| Destructor for the Operation class. Cleans up dynamic memory in result state.
|
|
virtual void | runOperation ()=0 |
| Runs the operation. Other than initial setup in the initialization, all the work of each operation is done in this function. It is a pure virtual method, and is implemented in inherited classes. All child classes must implement this method.
|
|
SwatDB Operation Class. The interface to indivual relational operators operations the system:
◆ Operation()
Constructor for the Operation class. Because Operation is an abstract class, an object cannot be created, but this constructor is used by derived classes.
- Precondition
- result_id is the id of a valid newly created result file.
- Parameters
-
result_name | std::string of a newly created result file |
◆ _delState()
void Operation::_delState |
( |
fileState * |
file_state | ) |
|
|
protected |
Deletes objects created in relop structs.
- Postcondition
- Dynamic objects are deleted
- Parameters
-
◆ _initState()
Performs the file and temporary record setup for relational operators.
- Precondition
- A file exists that corresponds to the param rel_name
- Parameters
-
file_id | FileId corresponding to the relation of interest |
fields | std::vector<FieldId> that stores the fields with which to make the key |
state | fileState pointer that will be filled |
◆ runOperation()
virtual void Operation::runOperation |
( |
| ) |
|
|
pure virtual |
Runs the operation. Other than initial setup in the initialization, all the work of each operation is done in this function. It is a pure virtual method, and is implemented in inherited classes. All child classes must implement this method.
- Precondition
- Valid files and parameters have been passed to the contructor.
- Postcondition
- Result file has been populated with records that meet the criteria of the operation.
Implemented in BlockNLJ, FileScan, HashJoin, IndexNLJ, IndexScan, ParallelHashJoin, Project, and TupleNLJ.
The documentation for this class was generated from the following file: