The abstraction to describe a join algorithm, providing virtual function of join.
More...
#include <JoinAlgo/AbstractJoinAlgo.h>
|
virtual size_t | join (TuplePtrQueue ts, TuplePtrQueue tr, int threads=1) |
| The function to execute join, batch of both. More...
|
|
virtual size_t | join (TuplePtr *ts, TuplePtr *tr, size_t tsLen, size_t trLen, int threads=1) |
| The function to execute join, batch of both, 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, TuplePtr tr, int threads=1) |
| The function to execute join, batch of one, tuple of another. More...
|
|
void | setAlgoName (string name) |
| set the name of algorithm More...
|
|
string | getAlgoName () |
| get the name of algorithm More...
|
|
The abstraction to describe a join algorithm, providing virtual function of join.
- Note
- The derived new algorithm should contain the join interface, for batch-batch and batch-tuple
◆ getAlgoName()
string INTELLI::AbstractJoinAlgo::getAlgoName |
( |
| ) |
|
|
inline |
get the name of algorithm
- Returns
- The name
◆ join() [1/4]
virtual size_t INTELLI::AbstractJoinAlgo::join |
( |
TuplePtr * |
ts, |
|
|
TuplePtr * |
tr, |
|
|
size_t |
tsLen, |
|
|
size_t |
trLen, |
|
|
int |
threads = 1 |
|
) |
| |
|
inlinevirtual |
The function to execute join, batch of both, legacy way.
- Parameters
-
ts | The tuples of stream S, legacy pointer |
tr | The tuples of stream R, legacy pointer |
tsLen | The length of S |
trLen | The length of R |
threads | The parallel threads |
- Returns
- The joined tuples
- Warning
- This is a legacy function, avoid using it if possible
Reimplemented in INTELLI::NPJSingle, INTELLI::NPJ, and INTELLI::NestedLoopJoin.
◆ join() [2/4]
virtual size_t INTELLI::AbstractJoinAlgo::join |
( |
TuplePtr * |
ts, |
|
|
TuplePtr |
tr, |
|
|
size_t |
tsLen, |
|
|
int |
threads = 1 |
|
) |
| |
|
inlinevirtual |
The function to execute join, batch of one, tuple of another.
- Parameters
-
ts | The tuples of stream S, legacy pointer |
tr | The tuples of stream R, one tuple |
tsLen | The length of S |
threads | The parallel threads |
- Returns
- The joined tuples
- Warning
- This is a legacy function, avoid using it if possible
Reimplemented in INTELLI::NPJSingle, INTELLI::NPJ, and INTELLI::NestedLoopJoin.
◆ join() [3/4]
◆ join() [4/4]
The function to execute join, batch of both.
- Parameters
-
ts | The tuples of stream S |
tr | The tuples of stream R |
threads | The parallel threads |
- Returns
- The joined tuples
- Todo:
- Add AMP and NUMA support in the future, so far only generic SMP
Reimplemented in INTELLI::NPJSingle, INTELLI::NPJ, and INTELLI::NestedLoopJoin.
◆ setAlgoName()
void INTELLI::AbstractJoinAlgo::setAlgoName |
( |
string |
name | ) |
|
|
inline |
set the name of algorithm
- Parameters
-
The documentation for this class was generated from the following file: