OmniSciDB
a5dc49c757
|
#include "QueryEngine/Execute.h"
#include <llvm/Transforms/Utils/BasicBlockUtils.h>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <chrono>
#include <ctime>
#include <future>
#include <memory>
#include <mutex>
#include <numeric>
#include <set>
#include <thread>
#include <type_traits>
#include "Catalog/Catalog.h"
#include "CudaMgr/CudaMgr.h"
#include "DataMgr/BufferMgr/BufferMgr.h"
#include "DataMgr/ForeignStorage/FsiChunkUtils.h"
#include "OSDependent/heavyai_path.h"
#include "Parser/ParserNode.h"
#include "QueryEngine/AggregateUtils.h"
#include "QueryEngine/AggregatedColRange.h"
#include "QueryEngine/CodeGenerator.h"
#include "QueryEngine/ColumnFetcher.h"
#include "QueryEngine/Descriptors/QueryCompilationDescriptor.h"
#include "QueryEngine/Descriptors/QueryFragmentDescriptor.h"
#include "QueryEngine/DynamicWatchdog.h"
#include "QueryEngine/EquiJoinCondition.h"
#include "QueryEngine/ErrorHandling.h"
#include "QueryEngine/ExecutorResourceMgr/ExecutorResourceMgr.h"
#include "QueryEngine/ExpressionRewrite.h"
#include "QueryEngine/ExternalCacheInvalidators.h"
#include "QueryEngine/GpuMemUtils.h"
#include "QueryEngine/InPlaceSort.h"
#include "QueryEngine/JoinHashTable/BaselineJoinHashTable.h"
#include "QueryEngine/JoinHashTable/BoundingBoxIntersectJoinHashTable.h"
#include "QueryEngine/JsonAccessors.h"
#include "QueryEngine/OutputBufferInitialization.h"
#include "QueryEngine/QueryDispatchQueue.h"
#include "QueryEngine/QueryEngine.h"
#include "QueryEngine/QueryRewrite.h"
#include "QueryEngine/QueryTemplateGenerator.h"
#include "QueryEngine/ResultSetReductionJIT.h"
#include "QueryEngine/RuntimeFunctions.h"
#include "QueryEngine/SpeculativeTopN.h"
#include "QueryEngine/StringDictionaryGenerations.h"
#include "QueryEngine/TableFunctions/TableFunctionCompilationContext.h"
#include "QueryEngine/TableFunctions/TableFunctionExecutionContext.h"
#include "QueryEngine/Visitors/TransientStringLiteralsVisitor.h"
#include "Shared/SystemParameters.h"
#include "Shared/TypedDataAccessors.h"
#include "Shared/checked_alloc.h"
#include "Shared/measure.h"
#include "Shared/misc.h"
#include "Shared/scope.h"
#include "Shared/shard_key.h"
#include "Shared/threading.h"
#include "ArrayOps.cpp"
#include "DateAdd.cpp"
#include "GeoOps.cpp"
#include "RowFunctionOps.cpp"
#include "StringFunctions.cpp"
#include "TableFunctions/TableFunctionOps.cpp"
Go to the source code of this file.
Classes | |
struct | anonymous_namespace{Execute.cpp}::GetTargetInfo |
class | anonymous_namespace{Execute.cpp}::OutVecOwner |
Namespaces | |
anonymous_namespace{Execute.cpp} | |
foreign_storage | |
Macros | |
#define | EXECUTE_INCLUDE |
Functions | |
std::unique_ptr< llvm::Module > | read_llvm_module_from_bc_file (const std::string &udf_ir_filename, llvm::LLVMContext &ctx) |
std::unique_ptr< llvm::Module > | read_llvm_module_from_ir_file (const std::string &udf_ir_filename, llvm::LLVMContext &ctx, bool is_gpu=false) |
std::unique_ptr< llvm::Module > | read_llvm_module_from_ir_string (const std::string &udf_ir_string, llvm::LLVMContext &ctx, bool is_gpu=false) |
void | anonymous_namespace{Execute.cpp}::prepare_string_dictionaries (const std::unordered_set< PhysicalInput > &phys_inputs) |
bool | anonymous_namespace{Execute.cpp}::is_empty_table (Fragmenter_Namespace::AbstractFragmenter *fragmenter) |
void | foreign_storage::populate_string_dictionary (int32_t table_id, int32_t col_id, int32_t db_id) |
block_size_x_ (block_size_x) | |
grid_size_x_ (grid_size_x) | |
max_gpu_slab_size_ (max_gpu_slab_size) | |
debug_dir_ (debug_dir) | |
debug_file_ (debug_file) | |
data_mgr_ (data_mgr) | |
temporary_tables_ (nullptr) | |
input_table_info_cache_ (this) | |
void | anonymous_namespace{Execute.cpp}::log_system_memory_info_impl (std::string const &mem_log, size_t executor_id, size_t log_time_ms, std::string const &log_tag, size_t const thread_idx) |
size_t | anonymous_namespace{Execute.cpp}::get_col_byte_width (const shared::ColumnKey &column_key) |
ResultSetPtr | anonymous_namespace{Execute.cpp}::get_merged_result (std::vector< std::pair< ResultSetPtr, std::vector< size_t >>> &results_per_device, std::vector< TargetInfo > const &targets) |
ReductionCode | anonymous_namespace{Execute.cpp}::get_reduction_code (const size_t executor_id, std::vector< std::pair< ResultSetPtr, std::vector< size_t >>> &results_per_device, int64_t *compilation_queue_time) |
std::unordered_set< int > | get_available_gpus (const Data_Namespace::DataMgr *data_mgr) |
size_t | get_context_count (const ExecutorDeviceType device_type, const size_t cpu_count, const size_t gpu_count) |
size_t | anonymous_namespace{Execute.cpp}::compute_buffer_entry_guess (const std::vector< InputTableInfo > &query_infos, const RelAlgExecutionUnit &ra_exe_unit) |
std::string | anonymous_namespace{Execute.cpp}::get_table_name (const InputDescriptor &input_desc) |
size_t | anonymous_namespace{Execute.cpp}::getDeviceBasedWatchdogScanLimit (size_t watchdog_max_projected_rows_per_device, const ExecutorDeviceType device_type, const int device_count) |
void | anonymous_namespace{Execute.cpp}::checkWorkUnitWatchdog (const RelAlgExecutionUnit &ra_exe_unit, const std::vector< InputTableInfo > &table_infos, const ExecutorDeviceType device_type, const int device_count) |
size_t | get_loop_join_size (const std::vector< InputTableInfo > &query_infos, const RelAlgExecutionUnit &ra_exe_unit) |
template<typename T > | |
std::vector< std::string > | anonymous_namespace{Execute.cpp}::expr_container_to_string (const T &expr_container) |
template<> | |
std::vector< std::string > | anonymous_namespace{Execute.cpp}::expr_container_to_string (const std::list< Analyzer::OrderEntry > &expr_container) |
std::string | anonymous_namespace{Execute.cpp}::sort_algorithm_to_string (const SortAlgorithm algorithm) |
std::ostream & | operator<< (std::ostream &os, const RelAlgExecutionUnit &ra_exe_unit) |
RelAlgExecutionUnit | anonymous_namespace{Execute.cpp}::replace_scan_limit (const RelAlgExecutionUnit &ra_exe_unit_in, const size_t new_scan_limit) |
int64_t | anonymous_namespace{Execute.cpp}::inline_null_val (const SQLTypeInfo &ti, const bool float_argument_input) |
void | anonymous_namespace{Execute.cpp}::fill_entries_for_empty_input (std::vector< TargetInfo > &target_infos, std::vector< int64_t > &entry, const std::vector< Analyzer::Expr * > &target_exprs, const QueryMemoryDescriptor &query_mem_desc) |
ResultSetPtr | anonymous_namespace{Execute.cpp}::build_row_for_empty_input (const std::vector< Analyzer::Expr * > &target_exprs_in, const QueryMemoryDescriptor &query_mem_desc, const ExecutorDeviceType device_type) |
size_t | anonymous_namespace{Execute.cpp}::permute_storage_columnar (const ResultSetStorage *input_storage, const QueryMemoryDescriptor &input_query_mem_desc, const ResultSetStorage *output_storage, size_t output_row_index, const QueryMemoryDescriptor &output_query_mem_desc, const std::vector< uint32_t > &top_permutation) |
size_t | anonymous_namespace{Execute.cpp}::permute_storage_row_wise (const ResultSetStorage *input_storage, const ResultSetStorage *output_storage, size_t output_row_index, const QueryMemoryDescriptor &output_query_mem_desc, const std::vector< uint32_t > &top_permutation) |
bool | anonymous_namespace{Execute.cpp}::has_lazy_fetched_columns (const std::vector< ColumnLazyFetchInfo > &fetched_cols) |
const ColumnDescriptor * | anonymous_namespace{Execute.cpp}::try_get_column_descriptor (const InputColDescriptor *col_desc) |
std::map< shared::TableKey, std::vector< uint64_t > > | get_table_id_to_frag_offsets (const std::vector< InputDescriptor > &input_descs, const std::map< shared::TableKey, const TableFragments * > &all_tables_fragments) |
std::ostream & | operator<< (std::ostream &os, FetchResult const &fetch_result) |
size_t | anonymous_namespace{Execute.cpp}::get_selected_input_descs_index (const shared::TableKey &table_key, std::vector< InputDescriptor > const &input_descs) |
size_t | anonymous_namespace{Execute.cpp}::get_selected_input_col_descs_index (const shared::TableKey &table_key, std::list< std::shared_ptr< InputColDescriptor const >> const &input_col_descs) |
std::list< std::shared_ptr < const InputColDescriptor > > | anonymous_namespace{Execute.cpp}::get_selected_input_col_descs (const shared::TableKey &table_key, std::list< std::shared_ptr< InputColDescriptor const >> const &input_col_descs) |
void | anonymous_namespace{Execute.cpp}::set_mod_range (std::vector< int8_t const * > &frag_col_buffers, int8_t const *const ptr, size_t const local_col_id, size_t const N) |
bool | anonymous_namespace{Execute.cpp}::check_rows_less_than_needed (const ResultSetPtr &results, const size_t scan_limit) |
void | anonymous_namespace{Execute.cpp}::add_deleted_col_to_map (PlanState::DeletedColumnsMap &deleted_cols_map, const ColumnDescriptor *deleted_cd, const shared::TableKey &table_key) |
std::tuple< bool, int64_t, int64_t > | anonymous_namespace{Execute.cpp}::get_hpt_overflow_underflow_safe_scaled_values (const int64_t chunk_min, const int64_t chunk_max, const SQLTypeInfo &lhs_type, const SQLTypeInfo &rhs_type) |
#define EXECUTE_INCLUDE |
Definition at line 4453 of file Execute.cpp.
block_size_x_ | ( | block_size_x | ) |
data_mgr_ | ( | data_mgr | ) |
Referenced by Fragmenter_Namespace::anonymous_namespace{InsertOrderFragmenter.cpp}::BaseAlterColumnContext::createChunkScratchBuffer(), Fragmenter_Namespace::anonymous_namespace{InsertOrderFragmenter.cpp}::BaseAlterColumnContext::freeChunkScratchBuffer(), Executor::interrupt(), Fragmenter_Namespace::anonymous_namespace{InsertOrderFragmenter.cpp}::GeoAlterColumnContext::putBuffersToDisk(), Fragmenter_Namespace::anonymous_namespace{InsertOrderFragmenter.cpp}::NonGeoAlterColumnContext::putBuffersToDisk(), Fragmenter_Namespace::anonymous_namespace{InsertOrderFragmenter.cpp}::BaseAlterColumnContext::readSourceData(), ResultSet::syncEstimatorBuffer(), and ResultSet::~ResultSet().
debug_dir_ | ( | debug_dir | ) |
debug_file_ | ( | debug_file | ) |
std::unordered_set<int> get_available_gpus | ( | const Data_Namespace::DataMgr * | data_mgr | ) |
Definition at line 1752 of file Execute.cpp.
References CHECK, CHECK_GT, Data_Namespace::DataMgr::getCudaMgr(), CudaMgr_Namespace::CudaMgr::getDeviceCount(), and Data_Namespace::DataMgr::gpusPresent().
Referenced by Executor::executeWorkUnitImpl().
size_t get_context_count | ( | const ExecutorDeviceType | device_type, |
const size_t | cpu_count, | ||
const size_t | gpu_count | ||
) |
Definition at line 1766 of file Execute.cpp.
References GPU.
Referenced by Executor::executeWorkUnitImpl().
size_t get_loop_join_size | ( | const std::vector< InputTableInfo > & | query_infos, |
const RelAlgExecutionUnit & | ra_exe_unit | ||
) |
Definition at line 1905 of file Execute.cpp.
References CHECK, and RelAlgExecutionUnit::input_descs.
Referenced by anonymous_namespace{IRCodegen.cpp}::check_if_loop_join_is_allowed().
std::map<shared::TableKey, std::vector<uint64_t> > get_table_id_to_frag_offsets | ( | const std::vector< InputDescriptor > & | input_descs, |
const std::map< shared::TableKey, const TableFragments * > & | all_tables_fragments | ||
) |
Definition at line 3348 of file Execute.cpp.
References CHECK.
Referenced by Executor::getRowCountAndOffsetForAllFrags().
grid_size_x_ | ( | grid_size_x | ) |
input_table_info_cache_ | ( | this | ) |
Definition at line 293 of file Execute.cpp.
References Executor::initialize_extension_module_sources().
max_gpu_slab_size_ | ( | max_gpu_slab_size | ) |
std::ostream& operator<< | ( | std::ostream & | os, |
const RelAlgExecutionUnit & | ra_exe_unit | ||
) |
Definition at line 2024 of file Execute.cpp.
References RelAlgExecutionUnit::estimator, anonymous_namespace{Execute.cpp}::expr_container_to_string(), RelAlgExecutionUnit::groupby_exprs, RelAlgExecutionUnit::input_col_descs, join(), RelAlgExecutionUnit::join_quals, RelAlgExecutionUnit::quals, RelAlgExecutionUnit::query_plan_dag_hash, RelAlgExecutionUnit::scan_limit, RelAlgExecutionUnit::simple_quals, anonymous_namespace{Execute.cpp}::sort_algorithm_to_string(), RelAlgExecutionUnit::sort_info, RelAlgExecutionUnit::target_exprs, to_string(), toString(), RelAlgExecutionUnit::union_all, and RelAlgExecutionUnit::use_bump_allocator.
std::ostream& operator<< | ( | std::ostream & | os, |
FetchResult const & | fetch_result | ||
) |
Definition at line 3452 of file Execute.cpp.
References FetchResult::col_buffers, FetchResult::frag_offsets, FetchResult::num_rows, and shared::printContainer().
std::unique_ptr<llvm::Module> read_llvm_module_from_bc_file | ( | const std::string & | udf_ir_filename, |
llvm::LLVMContext & | ctx | ||
) |
Definition at line 1583 of file NativeCodegen.cpp.
Referenced by Executor::update_extension_modules().
std::unique_ptr<llvm::Module> read_llvm_module_from_ir_file | ( | const std::string & | udf_ir_filename, |
llvm::LLVMContext & | ctx, | ||
bool | is_gpu = false |
||
) |
Definition at line 1598 of file NativeCodegen.cpp.
Referenced by Executor::update_extension_modules().
std::unique_ptr<llvm::Module> read_llvm_module_from_ir_string | ( | const std::string & | udf_ir_string, |
llvm::LLVMContext & | ctx, | ||
bool | is_gpu = false |
||
) |
Definition at line 1623 of file NativeCodegen.cpp.
Referenced by Executor::update_extension_modules().
temporary_tables_ | ( | nullptr | ) |
false |
Definition at line 80 of file Execute.cpp.
bool g_allow_auto_resultset_caching {false} |
Definition at line 162 of file Execute.cpp.
Referenced by QueryRunner::DataRecyclerFlagsDisabler::DataRecyclerFlagsDisabler(), RelAlgExecutor::executeTableFunction(), RelAlgExecutor::executeWorkUnit(), CommandLineOptions::fillOptions(), CommandLineOptions::parse_command_line(), and QueryRunner::DataRecyclerFlagsDisabler::~DataRecyclerFlagsDisabler().
bool g_allow_cpu_retry {true} |
Definition at line 93 of file Execute.cpp.
Referenced by RelAlgExecutor::executeRelAlgQuery(), CommandLineOptions::fillOptions(), and RelAlgExecutor::handlePersistentError().
bool g_allow_memory_status_log {true} |
Definition at line 127 of file Execute.cpp.
Referenced by RowSetMemoryOwner::allocateCachedGroupByBuffer(), RowSetMemoryOwner::allocateUnlocked(), CommandLineOptions::fillDeveloperOptions(), anonymous_namespace{DBHandler.cpp}::log_system_cpu_memory_status(), Executor::logSystemCPUMemoryStatus(), and Executor::logSystemGPUMemoryStatus().
bool g_allow_query_step_cpu_retry {true} |
Definition at line 94 of file Execute.cpp.
Referenced by RelAlgExecutor::executeRelAlgSeq(), RelAlgExecutor::executeRelAlgSubSeq(), and CommandLineOptions::fillDeveloperOptions().
bool g_allow_query_step_skipping {true} |
Definition at line 163 of file Execute.cpp.
Referenced by QueryRunner::DataRecyclerFlagsDisabler::DataRecyclerFlagsDisabler(), RelAlgExecutor::executeRelAlgSeq(), CommandLineOptions::fillOptions(), RaExecutionSequence::next(), CommandLineOptions::parse_command_line(), RaExecutionSequence::RaExecutionSequence(), and QueryRunner::DataRecyclerFlagsDisabler::~DataRecyclerFlagsDisabler().
size_t g_approx_quantile_buffer {1000} |
Definition at line 171 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and GroupByAndAggregate::initApproxQuantileDescriptors().
size_t g_approx_quantile_centroids {300} |
Definition at line 172 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and GroupByAndAggregate::initApproxQuantileDescriptors().
size_t g_auto_resultset_caching_threshold {size_t(1) << 20} |
Definition at line 168 of file Execute.cpp.
Referenced by RelAlgExecutor::executeTableFunction(), RelAlgExecutor::executeWorkUnit(), CommandLineOptions::fillOptions(), and CommandLineOptions::parse_command_line().
size_t g_bbox_intersect_max_table_size_bytes {1024 * 1024 * 1024} |
Definition at line 114 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and BoundingBoxIntersectJoinHashTable::reifyWithLayout().
double g_bbox_intersect_target_entries_per_bin {1.3} |
Definition at line 115 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and BoundingBoxIntersectJoinHashTable::reifyWithLayout().
size_t g_big_group_threshold {g_default_max_groups_buffer_entry_guess} |
Definition at line 119 of file Execute.cpp.
Referenced by RelAlgExecutor::executeWorkUnit().
double g_bump_allocator_step_reduction {0.75} |
Definition at line 133 of file Execute.cpp.
Referenced by create_dev_group_by_buffers().
bool g_cache_string_hash |
Definition at line 55 of file StringDictionary.cpp.
size_t g_constrained_by_in_threshold {10} |
Definition at line 117 of file Execute.cpp.
Referenced by QueryRewriter::rewriteConstrainedByInImpl().
size_t g_cpu_sub_task_size {500'000} |
Definition at line 90 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and ExecutionKernel::runImpl().
size_t g_default_max_groups_buffer_entry_guess {16384} |
Definition at line 118 of file Execute.cpp.
Referenced by RelAlgExecutor::createAggregateWorkUnit(), RelAlgExecutor::createCompoundWorkUnit(), RelAlgExecutor::createFilterWorkUnit(), RelAlgExecutor::createProjectWorkUnit(), RelAlgExecutor::createSortInputWorkUnit(), and RelAlgExecutor::createUnionWorkUnit().
unsigned g_dynamic_watchdog_time_limit {10000} |
Definition at line 92 of file Execute.cpp.
Referenced by DBHandler::execute_rel_alg(), QueryExecutionContext::launchGpuCode(), and CommandLineOptions::parse_command_line().
bool g_enable_automatic_ir_metadata {true} |
Definition at line 174 of file Execute.cpp.
Referenced by AutomaticIRMetadataGuard::AutomaticIRMetadataGuard(), and CommandLineOptions::fillDeveloperOptions().
bool g_enable_bbox_intersect_hashjoin {true} |
Definition at line 109 of file Execute.cpp.
Referenced by Executor::buildHashTableForQualifier(), CodeGenerator::codegenBoundingBoxIntersect(), convert_bbox_intersect_join(), CommandLineOptions::fillOptions(), and HashJoin::getInstance().
bool g_enable_bump_allocator {false} |
Definition at line 132 of file Execute.cpp.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::can_use_bump_allocator(), and CommandLineOptions::fillDeveloperOptions().
bool g_enable_columnar_output {false} |
Definition at line 106 of file Execute.cpp.
Referenced by QueryRunner::QueryRunner::defaultExecutionOptionsForRunSQL(), DBHandler::execute_rel_alg(), CommandLineOptions::fillDeveloperOptions(), RelAlgDag::registerQueryHints(), QueryRunner::anonymous_namespace{QueryRunner.cpp}::run_select_query_with_filter_push_down(), and QueryRunner::QueryRunner::runSQLWithAllowingInterrupt().
bool g_enable_cpu_sub_tasks {false} |
Definition at line 89 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and Executor::launchKernelsImpl().
bool g_enable_data_recycler {true} |
Definition at line 158 of file Execute.cpp.
Referenced by HashJoin::canAccessHashTable(), RelAlgExecutor::canUseResultsetCache(), Fragmenter_Namespace::FragmentInfo::getChunkMetadataMap(), BoundingBoxIntersectTuningParamRecycler::getItemFromCache(), ResultSetRecycler::getOutputMetaInfo(), anonymous_namespace{RelAlgExecutor.cpp}::handle_query_hint(), HashingSchemeRecycler::hasItemInCache(), BoundingBoxIntersectTuningParamRecycler::hasItemInCache(), ChunkMetadataRecycler::hasItemInCache(), ResultSetRecycler::hasItemInCache(), HashtableRecycler::hasItemInCache(), HashingSchemeRecycler::markCachedItemAsDirty(), BoundingBoxIntersectTuningParamRecycler::markCachedItemAsDirty(), ChunkMetadataRecycler::markCachedItemAsDirty(), ResultSetRecycler::markCachedItemAsDirty(), HashtableRecycler::markCachedItemAsDirty(), CommandLineOptions::parse_command_line(), HashingSchemeRecycler::putItemToCache(), BoundingBoxIntersectTuningParamRecycler::putItemToCache(), ChunkMetadataRecycler::putItemToCache(), ResultSetRecycler::putItemToCache(), HashtableRecycler::putItemToCache(), RaExecutionSequence::RaExecutionSequence(), RelAlgDag::registerQueryHints(), ResultSetRecycler::removeItemFromCache(), and HashtableRecycler::removeItemFromCache().
bool g_enable_dev_table_functions {false} |
Definition at line 124 of file Execute.cpp.
Referenced by table_functions::TableFunctionsFactory::add(), and CommandLineOptions::fillDeveloperOptions().
bool g_enable_direct_columnarization {true} |
Definition at line 134 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and ResultSet::isDirectColumnarConversionPossible().
bool g_enable_distance_rangejoin {true} |
Definition at line 112 of file Execute.cpp.
Referenced by convert_bbox_intersect_join(), and CommandLineOptions::fillOptions().
bool g_enable_dynamic_watchdog {false} |
Definition at line 81 of file Execute.cpp.
Referenced by Executor::buildHashTableForQualifier(), check_watchdog_rt(), DBHandler::execute_rel_alg(), Executor::executePlanWithGroupBy(), Executor::executePlanWithoutGroupBy(), RelAlgExecutor::executeRelAlgQueryNoRetry(), Executor::fetchChunks(), anonymous_namespace{ResultSetReductionJIT.cpp}::generate_loop_body(), DBHandler::interrupt(), Executor::interrupt(), QueryExecutionContext::launchGpuCode(), CommandLineOptions::parse_command_line(), RelAlgExecutor::prepareLeafExecution(), ResultSetStorage::reduceEntriesNoCollisionsColWise(), ResultSetStorage::reduceOneEntryBaseline(), RelAlgDag::registerQueryHints(), and Executor::resetInterrupt().
bool g_enable_executor_resource_mgr {true} |
Definition at line 178 of file Execute.cpp.
Referenced by Executor::executeWorkUnitImpl(), CommandLineOptions::fillOptions(), Executor::get_concurrent_resource_grant_policy(), Executor::get_executor_resource_pool_info(), Executor::get_executor_resource_pool_total_resource_quantity(), DBHandler::initialize(), CommandLineOptions::parse_command_line(), anonymous_namespace{DBHandler.cpp}::pause_and_resume_executor_queue(), Executor::pause_executor_queue(), QueryRunner::QueryRunner::QueryRunner(), Executor::resume_executor_queue(), Executor::set_concurrent_resource_grant_policy(), Executor::set_executor_resource_pool_resource(), and CommandLineOptions::validate().
bool g_enable_filter_function {true} |
Definition at line 91 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions().
bool g_enable_filter_push_down {false} |
Definition at line 102 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), Fragmenter_Namespace::FragmentInfo::getChunkMetadataMap(), CommandLineOptions::parse_command_line(), QueryRunner::QueryRunner::runSelectQuery(), and DBHandler::sql_execute_impl().
bool g_enable_geo_ops_on_uncompressed_coords {true} |
Definition at line 125 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and RelAlgTranslator::translateBinaryGeoFunction().
bool g_enable_hashjoin_many_to_many {true} |
Definition at line 113 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and translate_bounding_box_intersect_with_reordering().
bool g_enable_lazy_fetch {true} |
Definition at line 136 of file Execute.cpp.
Referenced by QueryCompilationDescriptor::compile(), CommandLineOptions::fillDeveloperOptions(), and QueryMemoryDescriptor::toString().
bool g_enable_left_join_filter_hoisting {true} |
Definition at line 107 of file Execute.cpp.
Referenced by Executor::buildHoistLeftHandSideFiltersCb(), and CommandLineOptions::fillDeveloperOptions().
bool g_enable_ml_functions {true} |
Definition at line 122 of file Execute.cpp.
Referenced by Parser::CreateModelStmt::CreateModelStmt(), EvaluateModelCommand::EvaluateModelCommand(), CommandLineOptions::fillOptions(), table_functions::anonymous_namespace{TableFunctionsFactory.cpp}::is_table_function_whitelisted(), ShowModelDetailsCommand::ShowModelDetailsCommand(), ShowModelFeatureDetailsCommand::ShowModelFeatureDetailsCommand(), ShowModelsCommand::ShowModelsCommand(), and CommandLineOptions::validate().
bool g_enable_non_kernel_time_query_interrupt {true} |
Definition at line 138 of file Execute.cpp.
Referenced by Parser::check_session_interrupted(), anonymous_namespace{Importer.cpp}::check_session_interrupted(), ColumnarResults::compactAndCopyEntriesWithoutTargetSkipping(), ColumnarResults::compactAndCopyEntriesWithTargetSkipping(), Parser::CopyTableStmt::execute(), anonymous_namespace{ResultSetReductionJIT.cpp}::generate_loop_body(), ColumnFetcher::getAllTableColumnFragments(), QueryExecutionContext::groupBufferToDeinterleavedResults(), DBHandler::import_table(), import_export::Importer::importGDALGeo(), import_export::Importer::importGDALRaster(), DBHandler::importGeoTableSingle(), DBHandler::interrupt(), Executor::interrupt(), DBHandler::interruptQuery(), ColumnFetcher::linearizeFixedLenArrayColFrags(), ColumnFetcher::linearizeVarLenArrayColFrags(), ColumnarResults::locateAndCountEntries(), ColumnFetcher::makeJoinColumn(), ColumnarResults::materializeAllColumnsThroughIteration(), ColumnarResults::materializeAllLazyColumns(), CommandLineOptions::parse_command_line(), Parser::InsertIntoTableAsSelectStmt::populateData(), ResultSetStorage::reduceEntriesNoCollisionsColWise(), and Executor::resetInterrupt().
size_t g_enable_parallel_linearization |
Definition at line 156 of file Execute.cpp.
Referenced by ColumnFetcher::linearizeVarLenArrayColFrags().
bool g_enable_rf_prop_table_functions {true} |
Definition at line 126 of file Execute.cpp.
bool g_enable_runtime_query_interrupt {true} |
Definition at line 137 of file Execute.cpp.
Referenced by Executor::enableRuntimeQueryInterrupt(), DBHandler::execute_rel_alg(), DBHandler::interrupt(), Executor::interrupt(), DBHandler::interruptQuery(), CommandLineOptions::parse_command_line(), Executor::resetInterrupt(), and DBHandler::sql_execute_impl().
bool g_enable_smem_group_by |
Referenced by CommandLineOptions::fillDeveloperOptions().
bool g_enable_smem_grouped_non_count_agg |
Definition at line 147 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions().
bool g_enable_smem_non_grouped_agg |
Definition at line 150 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions().
bool g_enable_string_functions |
Definition at line 43 of file RelAlgTranslator.cpp.
bool g_enable_table_functions {true} |
Definition at line 121 of file Execute.cpp.
Referenced by RelAlgExecutor::executeTableFunction(), CommandLineOptions::fillOptions(), table_functions::TableFunctionsFactory::reset(), and CommandLineOptions::validate().
bool g_enable_window_functions {true} |
Definition at line 120 of file Execute.cpp.
Referenced by RelAlgExecutor::executeWorkUnit(), and CommandLineOptions::fillDeveloperOptions().
bool g_executor_resource_mgr_allow_cpu_gpu_kernel_concurrency {true} |
Definition at line 188 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
bool g_executor_resource_mgr_allow_cpu_kernel_concurrency {true} |
Definition at line 187 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
bool g_executor_resource_mgr_allow_cpu_result_mem_oversubscription_concurrency {false} |
Definition at line 194 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
bool g_executor_resource_mgr_allow_cpu_slot_oversubscription_concurrency {false} |
Definition at line 191 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
size_t g_executor_resource_mgr_cpu_result_mem_bytes {Executor::auto_cpu_mem_bytes} |
Definition at line 181 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), and CommandLineOptions::parse_command_line().
double g_executor_resource_mgr_cpu_result_mem_ratio {0.8} |
Definition at line 180 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
double g_executor_resource_mgr_max_available_resource_use_ratio {0.8} |
Definition at line 195 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
double g_executor_resource_mgr_per_query_max_cpu_result_mem_ratio {0.8} |
Definition at line 183 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
double g_executor_resource_mgr_per_query_max_cpu_slots_ratio {0.9} |
Definition at line 182 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), DBHandler::init_executor_resource_mgr(), CommandLineOptions::parse_command_line(), and CommandLineOptions::validate().
float g_filter_push_down_high_frac {-1.0f} |
Definition at line 104 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and FilterSelectivity::isFilterSelectiveEnough().
float g_filter_push_down_low_frac {-1.0f} |
Definition at line 103 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and FilterSelectivity::isFilterSelectiveEnough().
size_t g_filter_push_down_passing_row_ubound {0} |
Definition at line 105 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and FilterSelectivity::isFilterSelectiveEnough().
bool g_from_table_reordering {true} |
Definition at line 97 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and CommandLineOptions::parse_command_line().
size_t g_gpu_smem_threshold |
Definition at line 142 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions().
size_t g_hashtable_cache_total_bytes {size_t(1) << 32} |
Definition at line 164 of file Execute.cpp.
Referenced by CommandLineOptions::parse_command_line().
size_t g_in_clause_num_elem_skip_bitmap {100} |
Definition at line 88 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and RelAlgTranslator::translateInOper().
bool g_inner_join_fragment_skipping {true} |
Definition at line 98 of file Execute.cpp.
Referenced by Executor::createKernels(), and CommandLineOptions::fillOptions().
bool g_is_test_env {false} |
Definition at line 153 of file Execute.cpp.
Referenced by ResultSetRecycler::cleanupCacheForInsertion(), HashtableRecycler::cleanupCacheForInsertion(), QueryPlanDagExtractor::extractQueryPlanDagImpl(), Executor::getArenaBlockSize(), PerfectJoinHashTable::getInstance(), and CodeCacheAccessor< CompilationContext >::resetCache().
size_t g_max_cacheable_hashtable_size_bytes {size_t(1) << 31} |
Definition at line 165 of file Execute.cpp.
Referenced by CommandLineOptions::parse_command_line().
size_t g_max_cacheable_query_resultset_size_bytes {size_t(1) << 31} |
Definition at line 167 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and CommandLineOptions::parse_command_line().
size_t g_max_log_length {500} |
Definition at line 176 of file Execute.cpp.
Referenced by anonymous_namespace{RelAlgOptimizer.cpp}::add_new_indices_for(), anonymous_namespace{RelAlgOptimizer.cpp}::cleanup_dead_nodes(), CommandLineOptions::fillDeveloperOptions(), fold_filters(), and DBHandler::sql_execute_impl().
size_t g_max_memory_allocation_size {2000000000} |
Definition at line 128 of file Execute.cpp.
Referenced by create_dev_group_by_buffers(), CommandLineOptions::fillDeveloperOptions(), and QueryMemoryInitializer::QueryMemoryInitializer().
size_t g_min_memory_allocation_size |
Definition at line 129 of file Execute.cpp.
Referenced by create_dev_group_by_buffers(), and CommandLineOptions::fillDeveloperOptions().
bool g_null_div_by_zero {false} |
Definition at line 95 of file Execute.cpp.
Referenced by CodeGenerator::codegenDiv(), CommandLineOptions::fillOptions(), and ExpressionRange::operator/().
size_t g_num_tuple_threshold_switch_to_baseline {100000} |
Definition at line 110 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), PerfectJoinHashTable::getInstance(), and DBHandler::validate_configurations().
bool g_optimize_cuda_block_and_grid_sizes {false} |
Definition at line 169 of file Execute.cpp.
Referenced by DBHandler::execute_rel_alg(), and CommandLineOptions::parse_command_line().
bool g_optimize_row_initialization {true} |
Definition at line 108 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and QueryMemoryInitializer::initRowGroups().
unsigned g_pending_query_interrupt_freq {1000} |
Definition at line 140 of file Execute.cpp.
Referenced by Executor::enableRuntimeQueryInterrupt(), DBHandler::execute_rel_alg(), and CommandLineOptions::parse_command_line().
size_t g_preflight_count_query_threshold {1000000} |
Definition at line 84 of file Execute.cpp.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::compute_output_buffer_size(), and CommandLineOptions::parse_command_line().
size_t g_query_resultset_cache_total_bytes {size_t(1) << 32} |
Definition at line 166 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and CommandLineOptions::parse_command_line().
size_t g_ratio_num_hash_entry_to_num_tuple_switch_to_baseline {100} |
Definition at line 111 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), PerfectJoinHashTable::getInstance(), and DBHandler::validate_configurations().
bool g_restrict_ml_model_metadata_to_superusers {false} |
Definition at line 123 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), ShowModelDetailsCommand::ShowModelDetailsCommand(), ShowModelFeatureDetailsCommand::ShowModelFeatureDetailsCommand(), and ShowModelsCommand::ShowModelsCommand().
double g_running_query_interrupt_freq {0.1} |
Definition at line 141 of file Execute.cpp.
Referenced by Executor::enableRuntimeQueryInterrupt(), DBHandler::execute_rel_alg(), and CommandLineOptions::parse_command_line().
bool g_strip_join_covered_quals {false} |
Definition at line 116 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), and strip_join_covered_filter_quals().
unsigned g_trivial_loop_join_threshold {1000} |
Definition at line 96 of file Execute.cpp.
Referenced by anonymous_namespace{IRCodegen.cpp}::check_if_loop_join_is_allowed(), CommandLineOptions::fillOptions(), and anonymous_namespace{FromTableReordering.cpp}::traverse_join_cost_graph().
bool g_use_chunk_metadata_cache {true} |
Definition at line 161 of file Execute.cpp.
Referenced by QueryRunner::DataRecyclerFlagsDisabler::DataRecyclerFlagsDisabler(), CommandLineOptions::fillOptions(), Fragmenter_Namespace::FragmentInfo::getChunkMetadataMap(), ChunkMetadataRecycler::hasItemInCache(), ChunkMetadataRecycler::markCachedItemAsDirty(), CommandLineOptions::parse_command_line(), ChunkMetadataRecycler::putItemToCache(), and QueryRunner::DataRecyclerFlagsDisabler::~DataRecyclerFlagsDisabler().
bool g_use_cpu_mem_pool_for_output_buffers {false} |
Definition at line 197 of file Execute.cpp.
Referenced by CommandLineOptions::fillDeveloperOptions(), CommandLineOptions::parse_command_line(), RowSetMemoryOwner::RowSetMemoryOwner(), and RowSetMemoryOwner::setKernelMemoryAllocator().
bool g_use_estimator_result_cache {true} |
Definition at line 139 of file Execute.cpp.
Referenced by Executor::addToCardinalityCache(), Executor::clearCardinalityCache(), Executor::getCachedCardinality(), Executor::invalidateCardinalityCacheForTable(), and CommandLineOptions::parse_command_line().
bool g_use_hashtable_cache {true} |
Definition at line 159 of file Execute.cpp.
Referenced by HashJoin::canAccessHashTable(), BoundingBoxIntersectTuningParamRecycler::getItemFromCache(), HashingSchemeRecycler::hasItemInCache(), BoundingBoxIntersectTuningParamRecycler::hasItemInCache(), HashtableRecycler::hasItemInCache(), HashingSchemeRecycler::markCachedItemAsDirty(), BoundingBoxIntersectTuningParamRecycler::markCachedItemAsDirty(), HashtableRecycler::markCachedItemAsDirty(), CommandLineOptions::parse_command_line(), HashingSchemeRecycler::putItemToCache(), BoundingBoxIntersectTuningParamRecycler::putItemToCache(), HashtableRecycler::putItemToCache(), and HashtableRecycler::removeItemFromCache().
bool g_use_query_resultset_cache {true} |
Definition at line 160 of file Execute.cpp.
Referenced by RelAlgExecutor::canUseResultsetCache(), QueryRunner::DataRecyclerFlagsDisabler::DataRecyclerFlagsDisabler(), CommandLineOptions::fillOptions(), ResultSetRecycler::getOutputMetaInfo(), anonymous_namespace{RelAlgExecutor.cpp}::handle_query_hint(), ResultSetRecycler::hasItemInCache(), ResultSetRecycler::markCachedItemAsDirty(), CommandLineOptions::parse_command_line(), ResultSetRecycler::putItemToCache(), RaExecutionSequence::RaExecutionSequence(), RelAlgDag::registerQueryHints(), ResultSetRecycler::removeItemFromCache(), and QueryRunner::DataRecyclerFlagsDisabler::~DataRecyclerFlagsDisabler().
size_t g_watchdog_in_clause_max_num_elem_bitmap {1 << 25} |
Definition at line 86 of file Execute.cpp.
Referenced by anonymous_namespace{RelAlgTranslator.cpp}::fill_dictionary_encoded_in_vals(), anonymous_namespace{RelAlgTranslator.cpp}::fill_integer_in_vals(), and CommandLineOptions::fillOptions().
size_t g_watchdog_in_clause_max_num_elem_non_bitmap {10000} |
Definition at line 85 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and RelAlgTranslator::translateInOper().
size_t g_watchdog_in_clause_max_num_input_rows {5000000} |
Definition at line 87 of file Execute.cpp.
Referenced by CommandLineOptions::fillOptions(), and anonymous_namespace{RelAlgTranslator.cpp}::get_in_values_expr().
size_t g_watchdog_max_projected_rows_per_device {128000000} |
Definition at line 83 of file Execute.cpp.
Referenced by anonymous_namespace{Execute.cpp}::checkWorkUnitWatchdog(), CommandLineOptions::fillOptions(), and CommandLineOptions::parse_command_line().
size_t g_watchdog_none_encoded_string_translation_limit {1000000UL} |
Definition at line 82 of file Execute.cpp.
Referenced by anonymous_namespace{RelAlgExecutor.cpp}::check_none_encoded_string_cast_tuple_limit(), and CommandLineOptions::fillOptions().
this |
Definition at line 285 of file Execute.cpp.
Referenced by org.apache.calcite.sql.validate.SqlValidatorImpl.DeriveTypeVisitor::visit().
std::unique_ptr<llvm::Module> udf_cpu_module |
std::unique_ptr<llvm::Module> udf_gpu_module |