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: