AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
NestedLoopJoin.h
Go to the documentation of this file.
1 
2 //
3 // Created by tony on 19/03/22.
4 //
5 
6 #ifndef _JOINALGO_NESTEDLOOPJOIN_H_
7 #define _JOINALGO_NESTEDLOOPJOIN_H_
9 namespace INTELLI {
26  public:
27  NestedLoopJoin() {
28  setAlgoName("NestedLoopJoin");
29  }
30  ~NestedLoopJoin() {}
41  virtual size_t join(TuplePtr *ts, TuplePtr *tr, size_t tsLen, size_t trLen, int threads = 1);
51  virtual size_t join(TuplePtr *ts, TuplePtr tr, size_t tsLen, int threads = 1);
52 
61  virtual size_t join(TuplePtrQueue ts, TuplePtrQueue tr, int threads = 1);
69  virtual size_t join(TuplePtrQueue ts, TuplePtr tr, int threads = 1);
70 };
71 typedef std::shared_ptr<NestedLoopJoin> NestedLoopJoinPtr;
72 #define newNestedLoopJoin() make_shared<NestedLoopJoin>()
73 }
74 #endif //ALIANCEDB_INCLUDE_JOINALGO_NESTEDLOOPJOIN_H_
The abstraction to describe a join algorithm, providing virtual function of join.
Definition: AbstractJoinAlgo.h:28
void setAlgoName(string name)
set the name of algorithm
Definition: AbstractJoinAlgo.h:101
The top class package of Nested Loop Join providing a "join function".
Definition: NestedLoopJoin.h:25
virtual size_t join(TuplePtrQueue ts, TuplePtrQueue tr, int threads=1)
The function to execute join, batch of both.
virtual size_t join(TuplePtrQueue ts, TuplePtr tr, int threads=1)
The function to execute join, batch of one, tuple of another.
virtual size_t join(TuplePtr *ts, TuplePtr tr, size_t tsLen, int threads=1)
The function to execute join, batch of one, tuple of another.
virtual size_t join(TuplePtr *ts, TuplePtr *tr, size_t tsLen, size_t trLen, int threads=1)
The function to execute join, legacy way.
std::shared_ptr< class Tuple > TuplePtr
The class to describe a shared pointer to Tuple.
Definition: Types.h:150
std::shared_ptr< INTELLI::SPSCQueue< INTELLI::TuplePtr > > TuplePtrQueue
To describe a queue of TuplePtr under SPSCQueue.
Definition: Types.h:228
Definition: DatasetTool.h:10