OmniSciDB  d2f719934e
 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 147 of file JoinColumnIterator.h.

Constructor & Destructor Documentation

DEVICE JoinColumnTupleIterator::JoinColumnTupleIterator ( )
inline

Definition at line 159 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 161 of file JoinColumnIterator.h.

References CHECK_LE, g_maximum_conditions_to_coalesce, i, join_column_iterators, and num_cols.

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:222
const size_t g_maximum_conditions_to_coalesce

Member Function Documentation

DEVICE FORCE_INLINE JoinColumnTupleIterator::operator bool ( ) const
inline

Definition at line 181 of file JoinColumnIterator.h.

References i, join_column_iterators, and num_cols.

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]
DEVICE FORCE_INLINE JoinColumnTupleIterator& JoinColumnTupleIterator::operator* ( )
inline

Definition at line 198 of file JoinColumnIterator.h.

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

Definition at line 191 of file JoinColumnIterator.h.

References i, join_column_iterators, and num_cols.

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

JoinColumnIterator JoinColumnTupleIterator::join_column_iterators[g_maximum_conditions_to_coalesce]

Definition at line 152 of file JoinColumnIterator.h.

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

size_t JoinColumnTupleIterator::num_cols

Definition at line 151 of file JoinColumnIterator.h.

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


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