AllianceDB  0.0.1
AllianceDB is an open-source suite, including benchmarks and libs for evaluating and improving stream operation algorithms on modern hardwares.
INTELLI::NestedLoopJoin Class Reference

The top class package of Nested Loop Join providing a "join function". More...

#include <NestedLoopJoin.h>

Inheritance diagram for INTELLI::NestedLoopJoin:
Collaboration diagram for INTELLI::NestedLoopJoin:

Public Member Functions

virtual size_t join (TuplePtr *ts, TuplePtr *tr, size_t tsLen, size_t trLen, int threads=1)
 The function to execute join, legacy way. More...
 
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. More...
 
virtual size_t join (TuplePtrQueue ts, TuplePtrQueue tr, int threads=1)
 The function to execute join, batch of both. More...
 
virtual size_t join (TuplePtrQueue ts, TuplePtr tr, int threads=1)
 The function to execute join, batch of one, tuple of another. More...
 
- Public Member Functions inherited from INTELLI::AbstractJoinAlgo
void setAlgoName (string name)
 set the name of algorithm More...
 
string getAlgoName ()
 get the name of algorithm More...
 

Additional Inherited Members

- Protected Attributes inherited from INTELLI::AbstractJoinAlgo
string nameTag
 

Detailed Description

The top class package of Nested Loop Join providing a "join function".

Note
Just single thread, the threads parameter is useless

Member Function Documentation

◆ join() [1/4]

virtual size_t INTELLI::NestedLoopJoin::join ( TuplePtr ts,
TuplePtr tr,
size_t  tsLen,
size_t  trLen,
int  threads = 1 
)
virtual

The function to execute join, legacy way.

Parameters
tsThe tuples of stream S, legacy pointer
trThe tuples of stream R, legacy pointer
tsLenThe length of S
trLenThe length of R
threadsThe parallel threads
Returns
The joined tuples
Warning
This is a legacy function, avoid using it if possible

Reimplemented from INTELLI::AbstractJoinAlgo.

◆ join() [2/4]

virtual size_t INTELLI::NestedLoopJoin::join ( TuplePtr ts,
TuplePtr  tr,
size_t  tsLen,
int  threads = 1 
)
virtual

The function to execute join, batch of one, tuple of another.

Parameters
tsThe tuples of stream S, legacy pointer
trThe tuples of stream R, one tuple
tsLenThe length of S
threadsThe parallel threads
Returns
The joined tuples
Warning
This is a legacy function, avoid using it if possible

Reimplemented from INTELLI::AbstractJoinAlgo.

◆ join() [3/4]

virtual size_t INTELLI::NestedLoopJoin::join ( TuplePtrQueue  ts,
TuplePtr  tr,
int  threads = 1 
)
virtual

The function to execute join, batch of one, tuple of another.

Parameters
tsThe tuples of stream S
trThe tuple of stream R
threadsThe parallel threads
Returns
The joined tuples

Reimplemented from INTELLI::AbstractJoinAlgo.

◆ join() [4/4]

virtual size_t INTELLI::NestedLoopJoin::join ( TuplePtrQueue  ts,
TuplePtrQueue  tr,
int  threads = 1 
)
virtual

The function to execute join, batch of both.

Parameters
tsThe tuples of stream S
trThe tuples of stream R
threadsThe parallel threads
Returns
The joined tuples
Todo:
Add AMP and NUMA support in the future, so far only generic SMP

Reimplemented from INTELLI::AbstractJoinAlgo.


The documentation for this class was generated from the following file: