OmniSciDB  ba1bac9284
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RegisteredQueryHint Struct Reference

#include <QueryHint.h>

Public Member Functions

 RegisteredQueryHint ()
 
RegisteredQueryHintoperator= (const RegisteredQueryHint &other)
 
 RegisteredQueryHint (const RegisteredQueryHint &other)
 
bool isAnyQueryHintDelivered () const
 
void registerHint (const QueryHint hint)
 
const bool isHintRegistered (const QueryHint hint) const
 

Static Public Member Functions

static RegisteredQueryHint defaults ()
 
static QueryHint translateQueryHint (const std::string &hint_name)
 

Public Attributes

bool cpu_mode
 
double overlaps_bucket_threshold
 
size_t overlaps_max_size
 
bool overlaps_allow_gpu_build
 
bool overlaps_no_cache
 
double overlaps_keys_per_bin
 
std::vector< bool > registered_hint
 

Detailed Description

Definition at line 127 of file QueryHint.h.

Constructor & Destructor Documentation

RegisteredQueryHint::RegisteredQueryHint ( )
inline

Definition at line 133 of file QueryHint.h.

Referenced by defaults().

134  : cpu_mode(false)
135  , overlaps_bucket_threshold(std::numeric_limits<double>::max())
138  , overlaps_no_cache(false)
bool overlaps_allow_gpu_build
Definition: QueryHint.h:169
double overlaps_keys_per_bin
Definition: QueryHint.h:171
std::vector< bool > registered_hint
Definition: QueryHint.h:173
double g_overlaps_target_entries_per_bin
Definition: Execute.cpp:99
size_t g_overlaps_max_table_size_bytes
Definition: Execute.cpp:98
size_t overlaps_max_size
Definition: QueryHint.h:168
double overlaps_bucket_threshold
Definition: QueryHint.h:167

+ Here is the caller graph for this function:

RegisteredQueryHint::RegisteredQueryHint ( const RegisteredQueryHint other)
inline

Member Function Documentation

static RegisteredQueryHint RegisteredQueryHint::defaults ( )
inlinestatic

Definition at line 175 of file QueryHint.h.

References RegisteredQueryHint().

Referenced by RelAlgExecutor::createAggregateWorkUnit(), RelAlgExecutor::createCompoundWorkUnit(), RelAlgExecutor::createFilterWorkUnit(), RelAlgExecutor::createProjectWorkUnit(), RelAlgExecutor::createUnionWorkUnit(), RelAlgExecutor::executeWorkUnit(), HashJoin::getSyntheticInstance(), and OverlapsJoinHashTable::OverlapsJoinHashTable().

175 { return RegisteredQueryHint(); }

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RegisteredQueryHint::isAnyQueryHintDelivered ( ) const
inline

Definition at line 187 of file QueryHint.h.

References registered_hint.

Referenced by OverlapsJoinHashTable::getInstance().

187  {
188  for (auto flag : registered_hint) {
189  if (flag) {
190  return true;
191  }
192  }
193  return false;
194  }
std::vector< bool > registered_hint
Definition: QueryHint.h:173

+ Here is the caller graph for this function:

const bool RegisteredQueryHint::isHintRegistered ( const QueryHint  hint) const
inline

Definition at line 203 of file QueryHint.h.

References kHintCount, and registered_hint.

Referenced by DBHandler::execute_rel_alg(), DBHandler::execute_rel_alg_df(), OverlapsJoinHashTable::getEffectiveMemoryLevel(), and Parser::LocalConnector::getOuterFragmentCount().

203  {
204  const auto hint_class = static_cast<int>(hint);
205  if (hint_class >= 0 && hint_class < QueryHint::kHintCount) {
206  return registered_hint[hint_class];
207  }
208  return false;
209  }
std::vector< bool > registered_hint
Definition: QueryHint.h:173

+ Here is the caller graph for this function:

void RegisteredQueryHint::registerHint ( const QueryHint  hint)
inline

Definition at line 196 of file QueryHint.h.

References kHintCount, and registered_hint.

Referenced by RelAlgDagBuilder::registerQueryHints().

196  {
197  const auto hint_class = static_cast<int>(hint);
198  if (hint_class >= 0 && hint_class < QueryHint::kHintCount) {
199  registered_hint[hint_class] = true;
200  }
201  }
std::vector< bool > registered_hint
Definition: QueryHint.h:173

+ Here is the caller graph for this function:

static QueryHint RegisteredQueryHint::translateQueryHint ( const std::string &  hint_name)
inlinestatic

Definition at line 178 of file QueryHint.h.

References kInvalidHint, and SupportedQueryHints.

Referenced by details::RelAlgDispatcher::parseHintString().

178  {
179  const auto lowered_hint_name = boost::algorithm::to_lower_copy(hint_name);
180  auto it = SupportedQueryHints.find(hint_name);
181  if (it != SupportedQueryHints.end()) {
182  return it->second;
183  }
185  }
static const std::unordered_map< std::string, QueryHint > SupportedQueryHints
Definition: QueryHint.h:40

+ Here is the caller graph for this function:

Member Data Documentation

bool RegisteredQueryHint::cpu_mode
bool RegisteredQueryHint::overlaps_allow_gpu_build
double RegisteredQueryHint::overlaps_bucket_threshold
double RegisteredQueryHint::overlaps_keys_per_bin
size_t RegisteredQueryHint::overlaps_max_size
bool RegisteredQueryHint::overlaps_no_cache
std::vector<bool> RegisteredQueryHint::registered_hint

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