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: