SwatDB
Loading...
Searching...
No Matches
select.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_SELECT_H_
11#define _SWATDB_SELECT_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
35class Select : public Operation {
36
37 public:
38
53 Select(FileId rel_id, FileId result_id, std::vector<FieldId> fields,
54 std::vector<Comp> comps, std::vector<void *> values,
55 Catalog *catalog);
56
61
62 protected:
63
71 std::vector<FieldId> fields;
72
76 std::vector<Comp> comps;
77
82 std::vector<void *> values;
83
84 /*
85 * fileState struct for the file selected on
86 */
87 fileState file_state;
88
89};
90
91#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 record.h:34
Definition relationfile.h:32
Definition schema.h:37
Definition select.h:35
~Select()
Destructor for the Select Operation.
std::vector< Comp > comps
Definition select.h:76
std::vector< FieldId > fields
Definition select.h:71
Select(FileId rel_id, FileId result_id, std::vector< FieldId > fields, std::vector< Comp > comps, std::vector< void * > values, Catalog *catalog)
Constructor for Select operation. Both FileScan and IndexScan use this constructor.
std::vector< void * > values
Definition select.h:82
Definition operation.h:40
std::uint32_t FileId
Definition swatdb_types.h:33