OmniSciDB  f17484ade4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
JoinColumnTupleIterator
operator++ ()
 
DEVICE FORCE_INLINE
JoinColumnTupleIterator
operator* ()
 

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 163 of file JoinColumnIterator.h.

Constructor & Destructor Documentation

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( )
inline

Definition at line 175 of file JoinColumnIterator.h.

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 177 of file JoinColumnIterator.h.

References CHECK_LE, g_maximum_conditions_to_coalesce, join_column_iterators, and num_cols.

182  : num_cols(num_cols) {
183 #ifndef __CUDACC__
185 #else
187 #endif
188  for (size_t i = 0; i < num_cols; ++i) {
190  JoinColumnIterator(&join_column_per_key[i],
191  type_info_per_key ? &type_info_per_key[i] : nullptr,
192  start,
193  step);
194  }
195  }
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:304
const size_t g_maximum_conditions_to_coalesce

Member Function Documentation

DEVICE FORCE_INLINE JoinColumnTupleIterator::operator bool ( ) const
inline

Definition at line 197 of file JoinColumnIterator.h.

References join_column_iterators, and num_cols.

197  {
198  for (size_t i = 0; i < num_cols; ++i) {
199  if (join_column_iterators[i]) {
200  return true;
201  // If any column iterator is still valid, then the tuple is still valid.
202  }
203  }
204  return false;
205  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]
DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator* ( )
inline

Definition at line 214 of file JoinColumnIterator.h.

214  {
215  return *this;
216  }
DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator++ ( void  )
inline

Definition at line 207 of file JoinColumnIterator.h.

References join_column_iterators, and num_cols.

207  {
208  for (size_t i = 0; i < num_cols; ++i) {
210  }
211  return *this;
212  }
JoinColumnIterator join_column_iterators[g_maximum_conditions_to_coalesce]

Member Data Documentation

JoinColumnIterator JoinColumnTupleIterator::join_column_iterators[g_maximum_conditions_to_coalesce]

Definition at line 168 of file JoinColumnIterator.h.

Referenced by JoinColumnTupleIterator(), operator bool(), and operator++().

size_t JoinColumnTupleIterator::num_cols

Definition at line 167 of file JoinColumnIterator.h.

Referenced by JoinColumnTupleIterator(), operator bool(), and operator++().


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