OoOJoin  0.0.1
The next generation of out-of-order join operator
OoOJoin::MultiThreadHashTable Class Reference

The multithread-supported hash table, holding buckets. More...

Collaboration diagram for OoOJoin::MultiThreadHashTable:

Public Member Functions

 MultiThreadHashTable (size_t bks)
 pre-init with several buckets More...
 
void buildTable (NPJTuplePtr *tps, size_t len)
 build the hashtable from tuple memory aray More...
 
size_t probeTuple (NPJTuplePtr tp)
 probe one tuple More...
 

Public Attributes

keyType hash_mask
 
keyType skip_bits
 
std::vector< MtBucketbuckets
 

Detailed Description

The multithread-supported hash table, holding buckets.

Todo:
Improve the efficiency of build phase

Constructor & Destructor Documentation

◆ MultiThreadHashTable()

MultiThreadHashTable::MultiThreadHashTable ( size_t  bks)

pre-init with several buckets

Parameters
bksthe number of buckets

Member Function Documentation

◆ buildTable()

void MultiThreadHashTable::buildTable ( NPJTuplePtr *  tps,
size_t  len 
)

build the hashtable from tuple memory aray

Parameters
tpsthe tuple aray
lenthe length
Note
This is thread-safe
Warning
This function with pointer is NOT intended for API, but only inline use

◆ probeTuple()

size_t MultiThreadHashTable::probeTuple ( NPJTuplePtr  tp)

probe one tuple

Parameters
tpTge tuple
Returns
Number of matches

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