Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
stl-like iterator interface. More...
#include <old-hash-table.h>
Public Member Functions | |
Iterator () | |
template<bool check_match> | |
void IR_ALWAYS_INLINE | Next () |
bool | NextUnmatched () |
TupleRow * | GetRow () |
Tuple * | GetTuple () |
void | set_matched (bool v) |
bool | matched () const |
void | reset () |
bool | AtEnd () const |
Returns true if this iterator is at the end, i.e. GetRow() cannot be called. More... | |
bool | operator!= (const Iterator &rhs) |
bool | operator== (const Iterator &rhs) |
template<bool check_match> | |
void | Next () |
Private Member Functions | |
Iterator (OldHashTable *table, int bucket_idx, Node *node, uint32_t hash) | |
Private Attributes | |
OldHashTable * | table_ |
int64_t | bucket_idx_ |
Current bucket idx. More... | |
Node * | node_ |
Current node idx (within current bucket) More... | |
uint32_t | scan_hash_ |
Cached hash value for the row passed to Find() More... | |
Friends | |
class | OldHashTable |
stl-like iterator interface.
Definition at line 247 of file old-hash-table.h.
|
inline |
Definition at line 249 of file old-hash-table.h.
|
inlineprivate |
Definition at line 303 of file old-hash-table.h.
|
inline |
Returns true if this iterator is at the end, i.e. GetRow() cannot be called.
Definition at line 293 of file old-hash-table.h.
References node_.
Referenced by impala::AggregationNode::Close(), impala::HashJoinNode::GetNext(), impala::AggregationNode::GetNext(), GetRow(), GetTuple(), impala::HashJoinNode::LeftJoinGetNext(), matched(), impala::HashJoinNode::ProcessProbeBatch(), impala::AggregationNode::ProcessRowBatchWithGrouping(), and set_matched().
|
inline |
Returns the current row. Callers must check the iterator is not AtEnd() before calling GetRow().
Definition at line 265 of file old-hash-table.h.
References AtEnd(), impala::OldHashTable::Node::data, node_, impala::OldHashTable::stores_tuples_, and table_.
Referenced by impala::OldHashTable::AddBitmapFilters(), impala::OldHashTableTest::FullScan(), impala::HashJoinNode::GetNext(), impala::OldHashTableTest::ProbeTest(), impala::HashJoinNode::ProcessProbeBatch(), and impala::TEST_F().
|
inline |
Definition at line 271 of file old-hash-table.h.
References AtEnd(), impala::OldHashTable::Node::data, node_, impala::OldHashTable::stores_tuples_, and table_.
Referenced by impala::AggregationNode::Close(), impala::AggregationNode::GetNext(), and impala::AggregationNode::ProcessRowBatchWithGrouping().
|
inline |
Definition at line 282 of file old-hash-table.h.
References AtEnd(), impala::OldHashTable::Node::matched, and node_.
Referenced by impala::HashJoinNode::GetNext().
|
inline |
Definition at line 123 of file old-hash-table.inline.h.
References bucket_idx_, impala::OldHashTable::End(), impala::OldHashTable::Equals(), impala::OldHashTable::GetRow(), impala::OldHashTable::Node::hash, impala::OldHashTable::Node::next, impala::OldHashTable::NextBucket(), impala::OldHashTable::Bucket::node, node_, scan_hash_, and table_.
void IR_ALWAYS_INLINE impala::OldHashTable::Iterator::Next | ( | ) |
Iterates to the next element. In the case where the iterator was from a Find, this will lazily evaluate that bucket, only returning TupleRows that match the current scan row. No-op if the iterator is at the end.
Referenced by impala::OldHashTable::AddBitmapFilters(), impala::AggregationNode::Close(), impala::OldHashTableTest::FullScan(), impala::HashJoinNode::GetNext(), impala::AggregationNode::GetNext(), impala::OldHashTableTest::ProbeTest(), and impala::HashJoinNode::ProcessProbeBatch().
|
inline |
Iterates to the next element that does not have its matched flag set. Returns false if it reaches the end of the table without finding an unmatched element. Used in right-outer and full-outer joins.
Definition at line 159 of file old-hash-table.inline.h.
References impala::OldHashTable::Bucket::node.
Definition at line 294 of file old-hash-table.h.
Definition at line 296 of file old-hash-table.h.
References bucket_idx_, and node_.
|
inline |
Definition at line 287 of file old-hash-table.h.
References bucket_idx_, and node_.
|
inline |
Definition at line 277 of file old-hash-table.h.
References AtEnd(), impala::OldHashTable::Node::matched, and node_.
Referenced by impala::HashJoinNode::GetNext().
|
friend |
Definition at line 301 of file old-hash-table.h.
|
private |
Current bucket idx.
Definition at line 313 of file old-hash-table.h.
Referenced by Next(), operator==(), and reset().
|
private |
Current node idx (within current bucket)
Definition at line 316 of file old-hash-table.h.
Referenced by AtEnd(), GetRow(), GetTuple(), matched(), Next(), operator==(), reset(), and set_matched().
|
private |
Cached hash value for the row passed to Find()
Definition at line 319 of file old-hash-table.h.
Referenced by Next().
|
private |
Definition at line 310 of file old-hash-table.h.
Referenced by GetRow(), GetTuple(), and Next().