OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QueryHint.h File Reference
#include <algorithm>
#include <optional>
#include <boost/algorithm/string.hpp>
#include "ThriftHandler/CommandLineOptions.h"
+ Include dependency graph for QueryHint.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  HintIdentifier
 
class  ExplainedQueryHint
 
struct  RegisteredQueryHint
 

Typedefs

using Hints = std::unordered_map< QueryHint, ExplainedQueryHint >
 

Enumerations

enum  QueryHint {
  kCpuMode = 0, kColumnarOutput, kRowwiseOutput, kOverlapsBucketThreshold,
  kOverlapsMaxSize, kOverlapsAllowGpuBuild, kOverlapsNoCache, kOverlapsKeysPerBin,
  kKeepResult, kKeepTableFuncResult, kAggregateTreeFanout, kCudaBlockSize,
  kCudaGridSize, kOptCudaBlockAndGridSizes, kWatchdog, kDynamicWatchdog,
  kWatchdogOff, kDynamicWatchdogOff, kQueryTimeLimit, kAllowLoopJoin,
  kDisableLoopJoin, kLoopJoinInnerTableMaxNumRows, kMaxJoinHashTableSize, kHintCount,
  kInvalidHint
}
 

Variables

static const
std::unordered_map
< std::string, QueryHint
SupportedQueryHints
 

Typedef Documentation

using Hints = std::unordered_map<QueryHint, ExplainedQueryHint>

Definition at line 355 of file QueryHint.h.

Enumeration Type Documentation

enum QueryHint
Enumerator
kCpuMode 
kColumnarOutput 
kRowwiseOutput 
kOverlapsBucketThreshold 
kOverlapsMaxSize 
kOverlapsAllowGpuBuild 
kOverlapsNoCache 
kOverlapsKeysPerBin 
kKeepResult 
kKeepTableFuncResult 
kAggregateTreeFanout 
kCudaBlockSize 
kCudaGridSize 
kOptCudaBlockAndGridSizes 
kWatchdog 
kDynamicWatchdog 
kWatchdogOff 
kDynamicWatchdogOff 
kQueryTimeLimit 
kAllowLoopJoin 
kDisableLoopJoin 
kLoopJoinInnerTableMaxNumRows 
kMaxJoinHashTableSize 
kHintCount 
kInvalidHint 

Definition at line 29 of file QueryHint.h.

29  {
30  kCpuMode = 0,
44  kWatchdog,
53  kHintCount, // should be at the last elem before INVALID enum value to count #
54  // supported hints correctly
55  kInvalidHint // this should be the last elem of this enum
56 };

Variable Documentation

const std::unordered_map<std::string, QueryHint> SupportedQueryHints
static
Initial value:
= {
{"cpu_mode", QueryHint::kCpuMode},
{"columnar_output", QueryHint::kColumnarOutput},
{"rowwise_output", QueryHint::kRowwiseOutput},
{"overlaps_bucket_threshold", QueryHint::kOverlapsBucketThreshold},
{"overlaps_max_size", QueryHint::kOverlapsMaxSize},
{"overlaps_allow_gpu_build", QueryHint::kOverlapsAllowGpuBuild},
{"overlaps_no_cache", QueryHint::kOverlapsNoCache},
{"overlaps_keys_per_bin", QueryHint::kOverlapsKeysPerBin},
{"keep_result", QueryHint::kKeepResult},
{"keep_table_function_result", QueryHint::kKeepTableFuncResult},
{"aggregate_tree_fanout", QueryHint::kAggregateTreeFanout},
{"cuda_block_size", QueryHint::kCudaBlockSize},
{"cuda_grid_size_multiplier", QueryHint::kCudaGridSize},
{"cuda_opt_block_and_grid_sizes", kOptCudaBlockAndGridSizes},
{"watchdog", QueryHint::kWatchdog},
{"dynamic_watchdog", QueryHint::kDynamicWatchdog},
{"watchdog_off", QueryHint::kWatchdogOff},
{"dynamic_watchdog_off", QueryHint::kDynamicWatchdogOff},
{"query_time_limit", QueryHint::kQueryTimeLimit},
{"allow_loop_join", QueryHint::kAllowLoopJoin},
{"disable_loop_join", QueryHint::kDisableLoopJoin},
{"loop_join_inner_table_max_num_rows", QueryHint::kLoopJoinInnerTableMaxNumRows},
{"max_join_hashtable_size", QueryHint::kMaxJoinHashTableSize}}

Definition at line 58 of file QueryHint.h.

Referenced by RegisteredQueryHint::translateQueryHint().