OmniSciDB  72c90bc290
 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, kBBoxIntersectBucketThreshold,
  kBBoxIntersectMaxSize, kBBoxIntersectAllowGpuBuild, kBBoxIntersectNoCache, kBBoxIntersectKeysPerBin,
  kKeepResult, kKeepTableFuncResult, kAggregateTreeFanout, kCudaBlockSize,
  kCudaGridSize, kOptCudaBlockAndGridSizes, kWatchdog, kDynamicWatchdog,
  kWatchdogOff, kDynamicWatchdogOff, kQueryTimeLimit, kAllowLoopJoin,
  kDisableLoopJoin, kLoopJoinInnerTableMaxNumRows, kMaxJoinHashTableSize, kforceBaselineHashJoin,
  kforceOneToManyHashJoin, kWatchdogMaxProjectedRowsPerDevice, kPreflightCountQueryThreshold, kHintCount,
  kInvalidHint
}
 

Variables

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

Typedef Documentation

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

Definition at line 390 of file QueryHint.h.

Enumeration Type Documentation

enum QueryHint
Enumerator
kCpuMode 
kColumnarOutput 
kRowwiseOutput 
kBBoxIntersectBucketThreshold 
kBBoxIntersectMaxSize 
kBBoxIntersectAllowGpuBuild 
kBBoxIntersectNoCache 
kBBoxIntersectKeysPerBin 
kKeepResult 
kKeepTableFuncResult 
kAggregateTreeFanout 
kCudaBlockSize 
kCudaGridSize 
kOptCudaBlockAndGridSizes 
kWatchdog 
kDynamicWatchdog 
kWatchdogOff 
kDynamicWatchdogOff 
kQueryTimeLimit 
kAllowLoopJoin 
kDisableLoopJoin 
kLoopJoinInnerTableMaxNumRows 
kMaxJoinHashTableSize 
kforceBaselineHashJoin 
kforceOneToManyHashJoin 
kWatchdogMaxProjectedRowsPerDevice 
kPreflightCountQueryThreshold 
kHintCount 
kInvalidHint 

Definition at line 29 of file QueryHint.h.

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

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},
{"bbox_intersect_bucket_threshold", QueryHint::kBBoxIntersectBucketThreshold},
{"bbox_intersect_max_size", QueryHint::kBBoxIntersectMaxSize},
{"bbox_intersect_allow_gpu_build", QueryHint::kBBoxIntersectAllowGpuBuild},
{"bbox_intersect_no_cache", QueryHint::kBBoxIntersectNoCache},
{"bbox_intersect_keys_per_bin", QueryHint::kBBoxIntersectKeysPerBin},
{"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},
{"force_baseline_hash_join", QueryHint::kforceBaselineHashJoin},
{"force_one_to_many_hash_join", QueryHint::kforceOneToManyHashJoin},
{"watchdog_max_projected_rows_per_device",
{"preflight_count_query_threshold", QueryHint::kPreflightCountQueryThreshold}}

Definition at line 62 of file QueryHint.h.

Referenced by RegisteredQueryHint::translateQueryHint().