SwatDB
Loading...
Searching...
No Matches
include
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
24
class
FileManager
;
25
class
Catalog
;
26
class
Schema
;
27
class
File
;
28
class
RelationFile
;
29
class
HeapFile
;
30
class
HeapFileScanner
;
31
class
Record
;
32
class
Data
;
33
class
Key
;
34
class
SearchKeyFormat
;
35
36
// @@@@ SWATDB_ASSIGNMENT: NOTEMSG Do not modify this definition, you may add private helper methods only
37
41
class
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
71
~BlockNLJ
();
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
BlockNLJ
Definition
blockNLJ.h:41
BlockNLJ::~BlockNLJ
~BlockNLJ()
Destructor for TupleNLJ. Deletes dynamic member variables.
BlockNLJ::BlockNLJ
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.
BlockNLJ::runOperation
void runOperation()
Runs the operation.
Catalog
Definition
catalog.h:161
Data
Definition
data.h:26
FileManager
Definition
filemgr.h:32
File
Definition
file.h:45
HeapFileScanner
Definition
heapfilescanner.h:39
HeapFile
Definition
heapfile.h:76
Join
Definition
join.h:37
Join::inner_fields
std::vector< FieldId > inner_fields
Definition
join.h:83
Join::outer_fields
std::vector< FieldId > outer_fields
Definition
join.h:78
Key
Definition
key.h:38
Record
Definition
record.h:34
RelationFile
Definition
relationfile.h:32
Schema
Definition
schema.h:37
SearchKeyFormat
Definition
searchkeyformat.h:32
join.h
swatdb_types.h
FileId
std::uint32_t FileId
Definition
swatdb_types.h:33
Generated by
1.9.8