OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
foreign_storage::IterativeFileScanParameters Struct Reference

#include <AbstractTextFileDataWrapper.h>

+ Collaboration diagram for foreign_storage::IterativeFileScanParameters:

Public Member Functions

 IterativeFileScanParameters (std::map< int, Chunk_NS::Chunk > &column_id_to_chunk_map, int32_t fragment_id, AbstractBuffer *delete_buffer)
 
std::mutex & getChunkMutex (const int col_id) const
 
std::condition_variable & getChunkConditionalVariable (const int col_id) const
 

Public Attributes

std::map< int, Chunk_NS::Chunk > & column_id_to_chunk_map
 
int32_t fragment_id
 
AbstractBufferdelete_buffer
 
std::map< int, std::unique_ptr
< std::mutex > > 
column_id_to_chunk_mutex
 
std::map< int, std::unique_ptr
< std::condition_variable > > 
column_id_to_chunk_conditional_var
 
std::mutex delete_buffer_mutex
 

Detailed Description

Definition at line 56 of file AbstractTextFileDataWrapper.h.

Constructor & Destructor Documentation

foreign_storage::IterativeFileScanParameters::IterativeFileScanParameters ( std::map< int, Chunk_NS::Chunk > &  column_id_to_chunk_map,
int32_t  fragment_id,
AbstractBuffer delete_buffer 
)
inline

Definition at line 66 of file AbstractTextFileDataWrapper.h.

References column_id_to_chunk_conditional_var, and column_id_to_chunk_mutex.

71  , delete_buffer(delete_buffer) {
72  for (const auto& [key, _] : column_id_to_chunk_map) {
73  column_id_to_chunk_mutex[key] = std::make_unique<std::mutex>();
75  std::make_unique<std::condition_variable>();
76  }
77  }
std::map< int, std::unique_ptr< std::mutex > > column_id_to_chunk_mutex
std::map< int, Chunk_NS::Chunk > & column_id_to_chunk_map
std::map< int, std::unique_ptr< std::condition_variable > > column_id_to_chunk_conditional_var

Member Function Documentation

std::condition_variable& foreign_storage::IterativeFileScanParameters::getChunkConditionalVariable ( const int  col_id) const
inline

Definition at line 85 of file AbstractTextFileDataWrapper.h.

References CHECK, and column_id_to_chunk_conditional_var.

Referenced by foreign_storage::append_data_block_to_chunk().

85  {
86  auto var_it = column_id_to_chunk_conditional_var.find(col_id);
88  return *var_it->second;
89  }
std::map< int, std::unique_ptr< std::condition_variable > > column_id_to_chunk_conditional_var
#define CHECK(condition)
Definition: Logger.h:291

+ Here is the caller graph for this function:

std::mutex& foreign_storage::IterativeFileScanParameters::getChunkMutex ( const int  col_id) const
inline

Definition at line 79 of file AbstractTextFileDataWrapper.h.

References CHECK, and column_id_to_chunk_mutex.

Referenced by foreign_storage::append_data_block_to_chunk().

79  {
80  auto mutex_it = column_id_to_chunk_mutex.find(col_id);
81  CHECK(mutex_it != column_id_to_chunk_mutex.end());
82  return *mutex_it->second;
83  }
std::map< int, std::unique_ptr< std::mutex > > column_id_to_chunk_mutex
#define CHECK(condition)
Definition: Logger.h:291

+ Here is the caller graph for this function:

Member Data Documentation

std::map<int, std::unique_ptr<std::condition_variable> > foreign_storage::IterativeFileScanParameters::column_id_to_chunk_conditional_var
mutable
std::map<int, Chunk_NS::Chunk>& foreign_storage::IterativeFileScanParameters::column_id_to_chunk_map
std::map<int, std::unique_ptr<std::mutex> > foreign_storage::IterativeFileScanParameters::column_id_to_chunk_mutex
mutable

Definition at line 61 of file AbstractTextFileDataWrapper.h.

Referenced by getChunkMutex(), and IterativeFileScanParameters().

AbstractBuffer* foreign_storage::IterativeFileScanParameters::delete_buffer

Definition at line 59 of file AbstractTextFileDataWrapper.h.

Referenced by foreign_storage::update_delete_buffer().

std::mutex foreign_storage::IterativeFileScanParameters::delete_buffer_mutex
mutable

Definition at line 64 of file AbstractTextFileDataWrapper.h.

Referenced by foreign_storage::update_delete_buffer().

int32_t foreign_storage::IterativeFileScanParameters::fragment_id

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