OmniSciDB  2e3a973ef4
JoinColumnTupleIterator Struct Reference

Iterates over the rows of a JoinColumnTuple across multiple fragments/chunks. More...

#include <JoinColumnIterator.h>

+ Collaboration diagram for JoinColumnTupleIterator:

Public Member Functions

DEVICE JoinColumnTupleIterator ()
 
DEVICE JoinColumnTupleIterator (size_t num_cols, const JoinColumn *join_column_per_key, const JoinColumnTypeInfo *type_info_per_key, size_t start, size_t step)
 
DEVICE FORCE_INLINE operator bool () const
 
DEVICE FORCE_INLINE JoinColumnTupleIteratoroperator++ ()
 
DEVICE FORCE_INLINE JoinColumnTupleIteratoroperator* ()
 

Public Attributes

size_t num_cols
 
JoinColumnIterator join_column_iterators [g_maximum_conditions_to_coalesce]
 

Detailed Description

Iterates over the rows of a JoinColumnTuple across multiple fragments/chunks.

Definition at line 147 of file JoinColumnIterator.h.

Constructor & Destructor Documentation

◆ JoinColumnTupleIterator() [1/2]

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( )
inline

Definition at line 159 of file JoinColumnIterator.h.

◆ JoinColumnTupleIterator() [2/2]

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( size_t  num_cols,
const JoinColumn join_column_per_key,
const JoinColumnTypeInfo type_info_per_key,
size_t  start,
size_t  step 
)
inline

Definition at line 161 of file JoinColumnIterator.h.

References CHECK_LE, g_maximum_conditions_to_coalesce, and JoinColumnIterator::JoinColumnIterator().

166  : num_cols(num_cols) {
167 #ifndef __CUDACC__
169 #else
171 #endif
172  for (size_t i = 0; i < num_cols; ++i) {
174  JoinColumnIterator(&join_column_per_key[i],
175  type_info_per_key ? &type_info_per_key[i] : nullptr,
176  start,
177  step);
178  }
179  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]
Iterates over the rows of a JoinColumn across multiple fragments/chunks.
#define CHECK_LE(x, y)
Definition: Logger.h:208
const size_t g_maximum_conditions_to_coalesce
+ Here is the call graph for this function:

Member Function Documentation

◆ operator bool()

DEVICE FORCE_INLINE JoinColumnTupleIterator::operator bool ( ) const
inline

Definition at line 181 of file JoinColumnIterator.h.

181  {
182  for (size_t i = 0; i < num_cols; ++i) {
183  if (join_column_iterators[i]) {
184  return true;
185  // If any column iterator is still valid, then the tuple is still valid.
186  }
187  }
188  return false;
189  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]

◆ operator*()

DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator* ( )
inline

Definition at line 198 of file JoinColumnIterator.h.

198 { return *this; }

◆ operator++()

DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator++ ( void  )
inline

Definition at line 191 of file JoinColumnIterator.h.

191  {
192  for (size_t i = 0; i < num_cols; ++i) {
194  }
195  return *this;
196  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]

Member Data Documentation

◆ join_column_iterators

JoinColumnIterator JoinColumnTupleIterator::join_column_iterators[g_maximum_conditions_to_coalesce]

Definition at line 152 of file JoinColumnIterator.h.

◆ num_cols

size_t JoinColumnTupleIterator::num_cols

Definition at line 151 of file JoinColumnIterator.h.


The documentation for this struct was generated from the following file: