SwatDB
Loading...
Searching...
No Matches
indexscan.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_INDEXSCAN_H_
11#define _SWATDB_INDEXSCAN_H_
12
13
19#include <string>
20#include <vector>
21#include "swatdb_types.h"
22#include "select.h"
23
24class FileManager;
25class Catalog;
26class Schema;
27class File;
28class RelationFile;
29class HeapFile;
30class HeapFileScanner;
31class Record;
32class Data;
33class Key;
34class SearchKeyFormat;
35class HashIndexFile;
36
40class IndexScan : public Select {
41
42 public:
54 IndexScan(FileId rel_id, FileId index_id, FileId result_id,
55 std::vector<FieldId> fields,
56 std::vector<Comp> comps,
57 std::vector<void *> values, Catalog *catalog);
58
63
73 void runOperation();
74
75 private:
76
81
82};
83
84#endif
Definition catalog.h:161
Definition data.h:26
Definition filemgr.h:32
Definition file.h:45
Definition hashindexfile.h:71
Definition heapfilescanner.h:39
Definition heapfile.h:76
Definition indexscan.h:40
~IndexScan()
Destructor for IndexScan. Delete dynamic member variables.
HashIndexFile * index_file
Definition indexscan.h:80
void runOperation()
Runs the operation. This is a pure virtual method, and is implemented in inherited classes....
IndexScan(FileId rel_id, FileId index_id, FileId result_id, std::vector< FieldId > fields, std::vector< Comp > comps, std::vector< void * > values, Catalog *catalog)
Constructor for IndexScan select operation.
Definition key.h:38
Definition record.h:34
Definition relationfile.h:32
Definition schema.h:37
Definition searchkeyformat.h:32
Definition select.h:35
std::vector< Comp > comps
Definition select.h:76
std::vector< FieldId > fields
Definition select.h:71
std::vector< void * > values
Definition select.h:82
std::uint32_t FileId
Definition swatdb_types.h:33