SwatDB
Loading...
Searching...
No Matches
blockNLJ.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, 2025 Swarthmore College Computer Science Department
7 * Swarthmore PA, Professors Tia Newhall, Ameet Soni
8 */
9
10// @@@@ SWATDB_ASSIGNMENT: ADDTODODATE
11
12#ifndef _SWATDB_BLOCKNLJOIN_H
13#define _SWATDB_BLOCKNLJOIN_H
14
15#include <string>
16#include <vector>
17#include "swatdb_types.h"
18#include "join.h"
19
24class FileManager;
25class Catalog;
26class Schema;
27class File;
28class RelationFile;
29class HeapFile;
30class HeapFileScanner;
31class Record;
32class Data;
33class Key;
34class SearchKeyFormat;
35
36// @@@@ SWATDB_ASSIGNMENT: NOTEMSG Do not modify this definition, you may add private helper methods only
37
41class BlockNLJ : public Join {
42
43 public:
44
64 BlockNLJ(FileId outer_id, FileId inner_id, FileId result_id,
65 std::vector<FieldId> outer_fields, std::vector<FieldId> inner_fields,
66 std::uint32_t block_size, Catalog *catalog);
67
72
80 void runOperation();
81
82
83 protected:
84
85 /* size of the block to be used in the block nested loop join algorithm. */
86 std::uint32_t block_size;
87
88};
89
90#endif
Definition blockNLJ.h:41
~BlockNLJ()
Destructor for TupleNLJ. Deletes dynamic member variables.
BlockNLJ(FileId outer_id, FileId inner_id, FileId result_id, std::vector< FieldId > outer_fields, std::vector< FieldId > inner_fields, std::uint32_t block_size, Catalog *catalog)
Performs join operation using the block nested loop join algorithm.
void runOperation()
Runs the operation.
Definition catalog.h:161
Definition data.h:26
Definition filemgr.h:32
Definition file.h:45
Definition heapfilescanner.h:39
Definition heapfile.h:76
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