SwatDB
Loading...
Searching...
No Matches
project.h
Go to the documentation of this file.
1/*
2 * SwatDB
3 *
4 * @authors: See Contributors.doc for code contributors
5 *
6 * Copyright (c) 2020 Swarthmore College Computer Science Department
7 * Swarthmore PA, Professors Tia Newhall, Ameet Soni
8 */
9
10#ifndef _SWATDB_PROJECT_H_
11#define _SWATDB_PROJECT_H_
12
17#include <string>
18#include <vector>
19#include "swatdb_types.h"
20#include "operation.h"
21
22class Catalog;
23class Schema;
24class File;
25class RelationFile;
26class HeapFile;
27class HeapFileScanner;
28class Record;
29class Data;
30class Key;
31
37class Project : public Operation {
38
39 public:
40
52 Project(FileId rel_id, FileId result_id, std::vector<FieldId> fields,
53 Catalog *catalog);
54
59
68 void runOperation();
69
70 protected:
71
76 std::vector<FieldId> fields;
77
78 /*
79 * fileState struct for the file selected on
80 */
81 fileState file_state;
82
83};
84
85
86#endif
Definition catalog.h:161
Definition data.h:26
Definition file.h:45
Definition heapfilescanner.h:39
Definition heapfile.h:76
Definition key.h:38
Definition operation.h:74
Definition project.h:37
std::vector< FieldId > fields
Definition project.h:76
Project(FileId rel_id, FileId result_id, std::vector< FieldId > fields, Catalog *catalog)
Constructor for Project operation.
void runOperation()
Runs the operation.
~Project()
Destructor for the Select Operation.
Definition record.h:34
Definition relationfile.h:32
Definition schema.h:37
Definition operation.h:40
std::uint32_t FileId
Definition swatdb_types.h:33