SwatDB
Loading...
Searching...
No Matches
indexNLJ.h
Go to the documentation of this file.
1
2/*
3 * SwatDB
4 *
5 * @authors: See Contributors.doc for code contributors
6 *
7 * Copyright (c) 2020, 2025 Swarthmore College Computer Science Department
8 * Swarthmore PA, Professors Tia Newhall, Ameet Soni
9 */
10
11// @@@@ SWATDB_ASSIGNMENT: ADDTODODATE
12
13#ifndef _SWATDB_INDEXNLJ_H_
14#define _SWATDB_INDEXNLJ_H_
15
16
21#include <string>
22#include <vector>
23#include "swatdb_types.h"
24#include "join.h"
25
26class FileManager;
27class Catalog;
28class Schema;
29class File;
30class RelationFile;
31class HeapFile;
32class HeapFileScanner;
33class Record;
34class Data;
35class Key;
36class SearchKeyFormat;
37
38// @@@@ SWATDB_ASSIGNMENT: NOTEMSG Do not modify this definition, you may add private helper methods only
39
43class IndexNLJ : public Join {
44
45 public:
46
59 IndexNLJ(FileId outer_id, FileId inner_id, FileId inner_index_id,
60 FileId result_id, std::vector<FieldId> outer_fields,
61 std::vector<FieldId> inner_fields, Catalog *catalog);
62
70 void runOperation();
71
72 protected:
73
74 /* index id */
75 HashIndexFile *index_file;
76
77};
78
79#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 indexNLJ.h:43
IndexNLJ(FileId outer_id, FileId inner_id, FileId inner_index_id, FileId result_id, std::vector< FieldId > outer_fields, std::vector< FieldId > inner_fields, Catalog *catalog)
Constructor for Index Nested Loop Join operation.
void runOperation()
Runs the operation.
Definition join.h:37
std::vector< FieldId > inner_fields
Definition join.h:83
std::vector< FieldId > outer_fields
Definition join.h:78
Definition key.h:38
Definition record.h:34
Definition relationfile.h:32
Definition schema.h:37
Definition searchkeyformat.h:32
std::uint32_t FileId
Definition swatdb_types.h:33